/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Loop.cpp Date: 2021-9-21 Author: Reece ***/ #include #include "Loop.hpp" namespace Aurora::IO::Loop { #if !defined(AURORA_IS_MODERNNT_DERIVED) AUKN_SYM AuSPtr NewLSWin32Source(bool) { return {}; } #endif #if !defined(AURORA_IS_XNU_DERIVED) AUKN_SYM AuSPtr NewLSAppleSource() { return {}; } #endif AUKN_SYM AuSPtr NewLSFile(const AuSPtr &pFileTransaction) { if (!pFileTransaction) { SysPushErrorArg(); return {}; } return pFileTransaction->NewLoopSource(); } AUKN_SYM AuSPtr NewStdIn() { return AuConsole::StdInBufferLoopSource(); } AUKN_SYM AuSPtr NewLSAsync(Async::WorkerPId_t workerPid) { if (!workerPid.pool) { return Async::GetAsyncApp()->WorkerToLoopSource(workerPid); } return workerPid.pool->WorkerToLoopSource(workerPid); } }