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 // vIndex: 1
33 virtual void enqueueMessage(
34 ::brstd::move_only_function<void()> message,
35 ::ServerInstanceMessenger::MessageAction action
36 ) /*override*/;
37
38 // vIndex: 2
39 virtual void enqueueAndAwaitExecution(
41 ::ServerInstanceMessenger::MessageAction action
42 ) /*override*/;
43
44 // vIndex: 1
45 virtual void processMessages() /*override*/;
46
47 // vIndex: 1
48 virtual ::ServerInstanceMessenger::IMessageProducer& getProducer() /*override*/;
49
50 // vIndex: 2
51 virtual ::ServerInstanceMessenger::IMessageConsumer& getConsumer() /*override*/;
52
53 // vIndex: 0
54 virtual ~Messenger() /*override*/ = default;
55 // NOLINTEND
56
57public:
58 // virtual function thunks
59 // NOLINTBEGIN
60 MCNAPI void
61 $enqueueMessage(::brstd::move_only_function<void()> message, ::ServerInstanceMessenger::MessageAction action);
62
65 ::ServerInstanceMessenger::MessageAction action
66 );
67
68 MCNAPI void $processMessages();
69
70 MCNAPI ::ServerInstanceMessenger::IMessageProducer& $getProducer();
71
72 MCNAPI ::ServerInstanceMessenger::IMessageConsumer& $getConsumer();
73 // NOLINTEND
74
75public:
76 // vftables
77 // NOLINTBEGIN
78 MCNAPI static void** $vftableForIMessenger();
79
80 MCNAPI static void** $vftableForIMessageConsumer();
81
82 MCNAPI static void** $vftableForIMessageProducer();
83 // NOLINTEND
84};
85
86} // namespace ServerInstanceMessenger
Definition IMessageConsumer.h:7
Definition IMessageProducer.h:11
Definition IMessenger.h:13
Definition Messenger.h:16
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