LeviLamina
Loading...
Searching...
No Matches
AutomationSession.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/codebuilder/EncryptionCipherMode.h"
7#include "mc/codebuilder/IRequestHandler.h"
8#include "mc/deps/code_builder/platform/WebviewObserver.h"
9#include "mc/websockets/CloseStatusCode.h"
10#include "mc/websockets/WSConnectionResult.h"
11
12// auto generated forward declare list
13// clang-format off
14class CommandOrigin;
16namespace Automation { class AutomationClient; }
17namespace CodeBuilder { struct AgentMessage; }
18namespace CodeBuilder { struct ChatMessage; }
19namespace CodeBuilder { struct ChatSubscription; }
20namespace CodeBuilder { struct CommandMessage; }
21namespace CodeBuilder { struct CommandRequest; }
22namespace CodeBuilder { struct EncryptionRequest; }
23namespace CodeBuilder { struct ErrorMessage; }
24namespace CodeBuilder { struct EventMessage; }
25namespace Automation { class AutomationObserver; }
26// clang-format on
27
28namespace Automation {
29
30class AutomationSession : public ::WebviewObserver,
32 public ::std::enable_shared_from_this<::Automation::AutomationSession> {
33public:
34 // member variables
35 // NOLINTBEGIN
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 AutomationSession& operator=(AutomationSession const&);
57 AutomationSession(AutomationSession const&);
58 AutomationSession();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ~AutomationSession() /*override*/;
64
65 virtual void onMessageRecieved(::std::string const& message) /*override*/;
66
67 virtual void agentCommand(::std::string const& requestId, ::CodeBuilder::CommandRequest&& request) /*override*/;
68
69 virtual void command(::std::string const& requestId, ::CodeBuilder::CommandRequest&& request) /*override*/;
70
71 virtual void
72 chatSubscribe(::std::string const& requestId, ::CodeBuilder::ChatSubscription&& subscription) /*override*/;
73
74 virtual void chatUnsubscribe(::std::string const& subscriptionId, ::std::string const&) /*override*/;
75
76 virtual void chatUnsubscribeAll(::std::string const&) /*override*/;
77
78 virtual void dataBlock(::std::string const& requestId) /*override*/;
79
80 virtual void dataItem(::std::string const& requestId) /*override*/;
81
82 virtual void dataMob(::std::string const& requestId) /*override*/;
83
84 virtual void dataTutorial(::std::string const& requestId, ::std::string const& tutorialPath) /*override*/;
85
86 virtual void dataFile(
87 ::std::string const& requestId,
88 bool const isRead,
89 ::std::string const& filePath,
90 ::std::string const& fileContents
91 ) /*override*/;
92
93 virtual void dataFilePath(::std::string const& requestId, ::std::string const& filePath) /*override*/;
94
95 virtual bool
96 encryptConnection(::std::string const& requestId, ::CodeBuilder::EncryptionRequest const& request) /*override*/;
97
98 virtual void subscribe(::std::string const& requestId, ::std::string const& eventId) /*override*/;
99
100 virtual void unsubscribe(::std::string const& requestId, ::std::string const& eventId) /*override*/;
101
102 virtual void error(::std::string const& message, ::CodeBuilder::ErrorMessage const&) /*override*/;
103
104 virtual bool tutorialCached(::std::string const& tutorialPath) /*override*/;
105 // NOLINTEND
106
107public:
108 // member functions
109 // NOLINTBEGIN
111
112 MCNAPI ::std::unique_ptr<::CommandOrigin> _createCommandOrigin(::std::string const& requestId);
113
114 MCNAPI void _errorEncryptionRequired(::std::string const& requestId);
115
117 ::CodeBuilder::ChatMessage const& message,
118 ::std::function<void(::std::string const&)> const& handler
119 ) const;
120
122
123 MCNAPI void _handleMessage(::CodeBuilder::ChatMessage const& message);
124
125 MCNAPI void _handleMessage(::CodeBuilder::EventMessage const& message);
126
127 MCNAPI void _handleOnClose(::CloseStatusCode code, ::std::string const&);
128
129 MCNAPI void _handleOnConnected(::std::string const&);
130
131 MCNAPI void _send(::std::string const& messageBody);
132
134
136
138
139#ifdef LL_PLAT_C
140 MCNAPI void addObserver(::Automation::AutomationObserver& observer);
141#endif
142
143 MCNAPI ::WSConnectionResult connect(::std::string const& serverUri);
144
145 MCNAPI ::WSConnectionResult
146 connect(::std::string const& serverUri, ::std::vector<::std::string> const& subProtocols);
147
148 MCNAPI bool dhKeyExchange(
149 ::std::string const& requestId,
150 ::std::string const& publicKey,
151 ::std::string const& salt,
152 ::CodeBuilder::EncryptionCipherMode cipherMode,
153 ::std::string&
154 );
155
156 MCNAPI void disconnect();
157
158 MCNAPI bool isConnecting();
159
160 MCNAPI bool isReady();
161
162 MCNAPI void receive(::std::string const& payload);
163
164#ifdef LL_PLAT_C
165 MCNAPI void setLocalConnectionHandler(::std::function<void(::std::string const&)> sendHandler);
166#endif
167
168 MCNAPI void tick(float dt);
169 // NOLINTEND
170
171public:
172 // constructor thunks
173 // NOLINTBEGIN
175 // NOLINTEND
176
177public:
178 // destructor thunk
179 // NOLINTBEGIN
180 MCNAPI void $dtor();
181 // NOLINTEND
182
183public:
184 // virtual function thunks
185 // NOLINTBEGIN
186 MCNAPI void $onMessageRecieved(::std::string const& message);
187
188 MCNAPI void $agentCommand(::std::string const& requestId, ::CodeBuilder::CommandRequest&& request);
189
190 MCNAPI void $command(::std::string const& requestId, ::CodeBuilder::CommandRequest&& request);
191
192 MCNAPI void $chatSubscribe(::std::string const& requestId, ::CodeBuilder::ChatSubscription&& subscription);
193
194 MCNAPI void $chatUnsubscribe(::std::string const& subscriptionId, ::std::string const&);
195
196 MCNAPI void $chatUnsubscribeAll(::std::string const&);
197
198 MCNAPI void $dataBlock(::std::string const& requestId);
199
200 MCNAPI void $dataItem(::std::string const& requestId);
201
202 MCNAPI void $dataMob(::std::string const& requestId);
203
204 MCNAPI void $dataTutorial(::std::string const& requestId, ::std::string const& tutorialPath);
205
206 MCNAPI void $dataFile(
207 ::std::string const& requestId,
208 bool const isRead,
209 ::std::string const& filePath,
210 ::std::string const& fileContents
211 );
212
213 MCNAPI void $dataFilePath(::std::string const& requestId, ::std::string const& filePath);
214
215 MCNAPI bool $encryptConnection(::std::string const& requestId, ::CodeBuilder::EncryptionRequest const& request);
216
217 MCNAPI void $subscribe(::std::string const& requestId, ::std::string const& eventId);
218
219 MCNAPI void $unsubscribe(::std::string const& requestId, ::std::string const& eventId);
220
221 MCNAPI void $error(::std::string const& message, ::CodeBuilder::ErrorMessage const&);
222
223 MCNAPI bool $tutorialCached(::std::string const& tutorialPath);
224
225
226 // NOLINTEND
227
228public:
229 // vftables
230 // NOLINTBEGIN
231 MCNAPI static void** $vftableForWebviewObserver();
232
233 MCNAPI static void** $vftableForIRequestHandler();
234 // NOLINTEND
235};
236
237} // namespace Automation
Definition AutomationClient.h:27
Definition AutomationObserver.h:7
MCAPI void _errorEncryptionRequired(::std::string const &requestId)
MCAPI void _handleOnClose(::CloseStatusCode code, ::std::string const &)
MCAPI ::std::unique_ptr<::CommandOrigin > _createCommandOrigin(::std::string const &requestId)
MCAPI void * $ctor(::Automation::AutomationClient &owner)
MCAPI bool _tryHandleMessage(::CodeBuilder::AgentMessage const &message)
MCAPI::WSConnectionResult connect(::std::string const &serverUri)
MCAPI void receive(::std::string const &payload)
MCAPI void $dataMob(::std::string const &requestId)
MCAPI void $dataBlock(::std::string const &requestId)
MCAPI bool $encryptConnection(::std::string const &requestId, ::CodeBuilder::EncryptionRequest const &request)
MCAPI void $error(::std::string const &message, ::CodeBuilder::ErrorMessage const &)
MCAPI void _handleIncomingMessage(::RakWebSocketDataFrame const &frame)
MCAPI AutomationSession(::Automation::AutomationClient &owner)
MCAPI void $chatUnsubscribeAll(::std::string const &)
MCAPI void $command(::std::string const &requestId, ::CodeBuilder::CommandRequest &&request)
MCAPI void $agentCommand(::std::string const &requestId, ::CodeBuilder::CommandRequest &&request)
MCAPI void $chatUnsubscribe(::std::string const &subscriptionId, ::std::string const &)
static MCAPI void ** $vftableForIRequestHandler()
MCAPI void _handleMessage(::CodeBuilder::ChatMessage const &message)
MCAPI void $subscribe(::std::string const &requestId, ::std::string const &eventId)
MCAPI bool dhKeyExchange(::std::string const &requestId, ::std::string const &publicKey, ::std::string const &salt, ::CodeBuilder::EncryptionCipherMode cipherMode, ::std::string &)
MCAPI void $dataFilePath(::std::string const &requestId, ::std::string const &filePath)
MCAPI void _handleOnConnected(::std::string const &)
MCAPI bool _tryHandleMessage(::CodeBuilder::CommandMessage const &message)
MCAPI void $onMessageRecieved(::std::string const &message)
MCAPI void $dataItem(::std::string const &requestId)
MCAPI::WSConnectionResult connect(::std::string const &serverUri, ::std::vector<::std::string > const &subProtocols)
static MCAPI void ** $vftableForWebviewObserver()
MCAPI void $dataTutorial(::std::string const &requestId, ::std::string const &tutorialPath)
MCAPI void tick(float dt)
MCAPI void $dataFile(::std::string const &requestId, bool const isRead, ::std::string const &filePath, ::std::string const &fileContents)
MCAPI void _handleMessage(::CodeBuilder::EventMessage const &message)
MCAPI bool _tryHandleMessage(::CodeBuilder::ErrorMessage const &message)
MCAPI bool $tutorialCached(::std::string const &tutorialPath)
MCAPI void _send(::std::string const &messageBody)
MCAPI void _forEachSubscription(::CodeBuilder::ChatMessage const &message, ::std::function< void(::std::string const &)> const &handler) const
MCAPI void $unsubscribe(::std::string const &requestId, ::std::string const &eventId)
MCAPI void $chatSubscribe(::std::string const &requestId, ::CodeBuilder::ChatSubscription &&subscription)
Definition IRequestHandler.h:15
Definition CommandOrigin.h:32
Definition RakWebSocketDataFrame.h:13
Definition WebviewObserver.h:15
Definition AgentMessage.h:7
Definition ChatMessage.h:7
Definition ChatSubscription.h:7
Definition CommandMessage.h:7
Definition CommandRequest.h:7
Definition EncryptionRequest.h:7
Definition ErrorMessage.h:12
Definition EventMessage.h:12
Definition code.h:5
Definition Alias.h:14