3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/platform/brstd/move_only_function.h"
7#include "mc/server/server_instance_messenger/IMessageConsumer.h"
8#include "mc/server/server_instance_messenger/IMessageProducer.h"
9#include "mc/server/server_instance_messenger/IMessenger.h"
10#include "mc/server/server_instance_messenger/MessageAction.h"
12namespace ServerInstanceMessenger {
25 Messenger& operator=(Messenger
const&);
26 Messenger(Messenger
const&);
32 virtual void enqueueMessage(
34 ::ServerInstanceMessenger::MessageAction action
37 virtual void enqueueAndAwaitExecution(
39 ::ServerInstanceMessenger::MessageAction action
42 virtual void processMessages() ;
44 virtual ::ServerInstanceMessenger::IMessageProducer& getProducer() ;
46 virtual ::ServerInstanceMessenger::IMessageConsumer& getConsumer() ;
48 virtual ~Messenger() =
default;
59 ::ServerInstanceMessenger::MessageAction action
64 MCNAPI ::ServerInstanceMessenger::IMessageProducer&
$getProducer();
66 MCNAPI ::ServerInstanceMessenger::IMessageConsumer&
$getConsumer();
Definition IMessageConsumer.h:7
Definition IMessageProducer.h:11
Definition IMessenger.h:13
MCAPI::ServerInstanceMessenger::IMessageConsumer & $getConsumer()
MCAPI void $enqueueMessage(::brstd::move_only_function< void()> message, ::ServerInstanceMessenger::MessageAction action)
MCAPI::ServerInstanceMessenger::IMessageProducer & $getProducer()
MCAPI void $processMessages()
MCAPI void $enqueueAndAwaitExecution(::brstd::move_only_function< void(::brstd::move_only_function< void() const >)> message, ::ServerInstanceMessenger::MessageAction action)
static MCAPI void ** $vftableForIMessenger()
static MCAPI void ** $vftableForIMessageConsumer()
static MCAPI void ** $vftableForIMessageProducer()
Definition move_only_function.h:9