AuroraRuntime/Source/Loop/LSHandle.hpp

35 lines
837 B
C++

/***
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: LSHandle.hpp
Date: 2021-10-1
Author: Reece
***/
#pragma once
#include "WaitSingle.hpp"
namespace Aurora::Loop
{
struct LSHandle : public WaitSingleGeneric
{
LSHandle(AuUInt handle);
virtual bool OnTrigger(AuUInt handle) override;
virtual AuList<AuUInt> GetHandles() override;
virtual AuUInt GetHandle() override;
virtual bool Singular() override;
#if defined(AURORA_IS_POSIX_DERIVED)
virtual AuList<AuUInt> GetWriteHandles() override;
virtual AuList<AuUInt> GetSocketHandles() override;
#endif
virtual ELoopSource GetType() override;
bool HasValidHandle();
protected:
AuUInt handle;
};
}