16#include "CoreObject.h"
17#include "Synchronizable.h"
18#include "RingBuffer.h"
22class MsgQueue final : CoreObject, Synchronizable {
25 util::RingBuffer <Message, 128> queue;
28 const void *listener =
nullptr;
31 Callback *callback =
nullptr;
43 const char *objectName()
const override {
return "MsgQueue"; }
53 void setListener(
const void *listener, Callback *func);
56 void disable() { enabled =
false; }
59 void put(
const Message &msg);
60 void put(MsgType type, i64 payload = 0);
61 void put(MsgType type, CpuMsg payload);
62 void put(MsgType type, DriveMsg payload);
63 void put(MsgType type, ScriptMsg payload);
67 bool get(Message &msg);
VirtualC64 project namespace.
Definition CmdQueue.cpp:16