/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: ThreadWorkerQueueShim.hpp Date: 2022-3-9 Author: Reece ***/ #pragma once #include #include namespace Aurora::Async { struct AsyncLoop : AuLoop::LoopQueue { ThreadState *pParent; void OnFrame(); virtual bool AddCallback (const AuSPtr &source, const AuSPtr &subscriber) override; virtual bool AddCallbackEx(const AuSPtr &source, const AuSPtr &subscriber) override; virtual bool AddCallback (const AuSPtr &subscriber) override; virtual bool Commit () override; void Schedule(); bool CommitPending(); private: bool commitPending_ {}; }; }