LeviLamina
Loading...
Searching...
No Matches
Messenger.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
11
12namespace ServerInstanceMessenger {
13
17public:
18 // member variables
19 // NOLINTBEGIN
21 // NOLINTEND
22
23public:
24 // prevent constructor by default
25 Messenger& operator=(Messenger const&);
26 Messenger(Messenger const&);
27 Messenger();
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual void enqueueMessage(
33 ::brstd::move_only_function<void()> message,
34 ::ServerInstanceMessenger::MessageAction action
35 ) /*override*/;
36
37 virtual void enqueueAndAwaitExecution(
39 ::ServerInstanceMessenger::MessageAction action
40 ) /*override*/;
41
42 virtual void processMessages() /*override*/;
43
44 virtual ::ServerInstanceMessenger::IMessageProducer& getProducer() /*override*/;
45
46 virtual ::ServerInstanceMessenger::IMessageConsumer& getConsumer() /*override*/;
47
48 virtual ~Messenger() /*override*/ = default;
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54 MCNAPI void
55 $enqueueMessage(::brstd::move_only_function<void()> message, ::ServerInstanceMessenger::MessageAction action);
56
59 ::ServerInstanceMessenger::MessageAction action
60 );
61
62 MCNAPI void $processMessages();
63
64 MCNAPI ::ServerInstanceMessenger::IMessageProducer& $getProducer();
65
66 MCNAPI ::ServerInstanceMessenger::IMessageConsumer& $getConsumer();
67
68
69 // NOLINTEND
70
71public:
72 // vftables
73 // NOLINTBEGIN
74 MCNAPI static void** $vftableForIMessenger();
75
76 MCNAPI static void** $vftableForIMessageConsumer();
77
78 MCNAPI static void** $vftableForIMessageProducer();
79 // NOLINTEND
80};
81
82} // namespace ServerInstanceMessenger
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 $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
Definition Alias.h:14