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
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 Messenger& operator=(Messenger const&);
28 Messenger(Messenger const&);
29 Messenger();
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual void enqueueMessage(
35 ::brstd::move_only_function<void()> message,
36 ::ServerInstanceMessenger::MessageAction action
37 ) /*override*/;
38
39 virtual void enqueueAndAwaitExecution(
41 ::ServerInstanceMessenger::MessageAction action
42 ) /*override*/;
43
44 virtual void processMessages() /*override*/;
45
46 virtual void stopAndDiscardMessages() /*override*/;
47
48 virtual uint64 getPendingMessageCount() /*override*/;
49
50 virtual ::ServerInstanceMessenger::IMessageProducer& getProducer() /*override*/;
51
52 virtual ::ServerInstanceMessenger::IMessageConsumer& getConsumer() /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCNAPI void
59 _enqueueMessage(::brstd::move_only_function<void()>&& message, ::ServerInstanceMessenger::MessageAction action);
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCNAPI void
66 $enqueueMessage(::brstd::move_only_function<void()> message, ::ServerInstanceMessenger::MessageAction action);
67
70 ::ServerInstanceMessenger::MessageAction action
71 );
72
73 MCNAPI void $processMessages();
74
76
77 MCNAPI uint64 $getPendingMessageCount();
78
79 MCNAPI ::ServerInstanceMessenger::IMessageProducer& $getProducer();
80
81 MCNAPI ::ServerInstanceMessenger::IMessageConsumer& $getConsumer();
82
83
84 // NOLINTEND
85};
86
87} // 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 _enqueueMessage(::brstd::move_only_function< void()> &&message, ::ServerInstanceMessenger::MessageAction action)
MCAPI void $enqueueAndAwaitExecution(::brstd::move_only_function< void(::brstd::move_only_function< void() const >)> message, ::ServerInstanceMessenger::MessageAction action)
Definition move_only_function.h:9
Definition Alias.h:14