AuroraRuntime/Include/Aurora/IO/Loop/ELoopSource.hpp

60 lines
1.3 KiB
C++

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: ELoopSource.hpp
Date: 2022-2-9
Author: Reece
***/
#pragma once
namespace Aurora::IO::Loop
{
enum class ELoopSource
{
// standard thread primitives
eSourceSemaphore,
eSourceCV,
eSourceEvent,
eSourceMutex, // WARNING: You should not use kernel mutex objects over AuThreadPrimitives
eSourceSRW,
eSourceTimer,
// arbitrary file descriptior
eSourceHandle,
// async file transaction notification
eSourceAIO,
// file watcher queue has notification
eSourceFileWatcher,
// reserved for use by the network subsystem
eSourceSocketGroup,
// async work group trigger
eSourceAsync,
// IPC pipe
eSourceIPCHasClient,
eSourceIPCReadPipe,
// Process and console APIs
eProcessStdIn,
eProcessStdOut,
eProcessDead,
// window messge loops
eSourceApple,
eSourceX11,
eSourceWin32,
// glib oses
eSourceGlib,
// internal
eSourceInternalReserved1,
eSourceInternalReserved2,
eSourceInternalReserved3,
eSourceInternalReserved4,
};
}