AuroraRuntime/Source/IO/Loop/LSIOHandle.hpp

33 lines
872 B
C++

/***
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: LSIOHandle.hpp
Date: 2023-9-16
Author: Reece
***/
#pragma once
#include "WaitSingle.hpp"
namespace Aurora::IO::Loop
{
struct LSIOHandle : virtual WaitSingleGeneric
{
LSIOHandle();
LSIOHandle(const AuSPtr<IIOHandle> &pHandle);
virtual bool OnTrigger(AuUInt handle) override;
virtual const AuList<AuUInt> &GetHandles() override;
virtual AuUInt GetHandle() override;
virtual bool Singular() override;
#if defined(AURORA_IS_POSIX_DERIVED)
virtual const AuList<AuUInt> &GetWriteHandles() override;
virtual AuUInt GetWriteHandle() override;
#endif
virtual ELoopSource GetType() override;
protected:
AuSPtr<IIOHandle> pHandle;
};
}