27 lines
973 B
C++
27 lines
973 B
C++
|
/***
|
||
|
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 <Source/Loop/Loop.hpp>
|
||
|
#include <Source/Loop/LoopQueue.hpp>
|
||
|
|
||
|
namespace Aurora::Async
|
||
|
{
|
||
|
struct AsyncLoop : public Loop::LoopQueue
|
||
|
{
|
||
|
void OnFrame();
|
||
|
|
||
|
virtual bool AddCallback (const AuSPtr<Loop::ILoopSource> &source, const AuSPtr<Loop::ILoopSourceSubscriber> &subscriber) override;
|
||
|
virtual bool AddCallbackEx(const AuSPtr<Loop::ILoopSource> &source, const AuSPtr<Loop::ILoopSourceSubscriberEx> &subscriber) override;
|
||
|
virtual bool AddCallback (const AuSPtr<Loop::ILoopSourceSubscriber> &subscriber) override;
|
||
|
virtual bool Commit () override;
|
||
|
|
||
|
private:
|
||
|
bool commitPending_ {};
|
||
|
};
|
||
|
}
|