LeviLamina
Loading...
Searching...
No Matches
TransactionManagerService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/EntityOperation.h"
7#include "mc/deps/scripting/runtime/Result.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/editor/services/IEditorService.h"
10#include "mc/server/editor/serviceproviders/TransactionManagerServiceProvider.h"
11#include "mc/world/events/EventListenerDispatcher.h"
12#include "mc/world/events/EventResult.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
17class BlockPos;
18class BlockSource;
22namespace Editor::Network { class RedoOperationPayload; }
23namespace Editor::Network { class UndoOperationPayload; }
24namespace Editor::Selection { class SelectionContainer; }
25namespace Editor::Transactions { class TransactionContext; }
26namespace Scripting { struct Error; }
27// clang-format on
28
29namespace Editor::Services {
30
33 public ::EventListenerDispatcher<::PlayerEventListener> {
34public:
35 // member variables
36 // NOLINTBEGIN
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 // vIndex: 52
56 virtual ::EventResult onEvent(::PlayerDimensionChangeBeforeEvent const&) /*override*/;
57
58 // vIndex: 0
59 virtual ~TransactionManagerService() /*override*/;
60
61 // vIndex: 1
62 virtual ::Scripting::Result<void> init() /*override*/;
63
64 // vIndex: 2
65 virtual ::Scripting::Result<void> ready() /*override*/;
66
67 // vIndex: 3
68 virtual ::Scripting::Result<void> quit() /*override*/;
69
70 // vIndex: 4
71 virtual ::std::string_view getServiceName() const /*override*/;
72
73 // vIndex: 1
74 virtual void addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext> transactionContext
75 ) /*override*/;
76
77 // vIndex: 2
78 virtual void clearTransactions() /*override*/;
79
80 // vIndex: 3
81 virtual ::Scripting::Result<void> undo() /*override*/;
82
83 // vIndex: 4
84 virtual ::Scripting::Result<void> redo() /*override*/;
85
86 // vIndex: 5
87 virtual uint64 undoSize() const /*override*/;
88
89 // vIndex: 6
90 virtual uint64 redoSize() const /*override*/;
91
92 // vIndex: 7
93 virtual ::Scripting::Result_deprecated<bool> trackBlockChangeList(::std::vector<::BlockPos> const& locations
94 ) /*override*/;
95
96 // vIndex: 8
97 virtual ::Scripting::Result_deprecated<bool>
98 trackBlockChangeArea(::BlockPos const& from, ::BlockPos const& to) /*override*/;
99
100 // vIndex: 9
101 virtual ::Scripting::Result_deprecated<bool>
102 trackBlockChangeSelection(::Editor::Selection::SelectionContainer const& selection) /*override*/;
103
104 // vIndex: 10
105 virtual ::Scripting::Result_deprecated<bool>
106 trackBlockChangeCompoundBlockVolume(::CompoundBlockVolume const& compoundVolume) /*override*/;
107
108 // vIndex: 11
109 virtual ::Scripting::Result<bool, ::Scripting::Error>
110 addEntityOperation(::Actor* entity, ::Editor::Transactions::EntityOperation::OperationType type) /*override*/;
111
112 // vIndex: 12
113 virtual ::Scripting::Result_deprecated<int> commitTrackedChanges() /*override*/;
114
115 // vIndex: 13
116 virtual ::Scripting::Result_deprecated<int> discardTrackedChanges() /*override*/;
117
118 // vIndex: 14
119 virtual ::Scripting::Result_deprecated<bool> openTransaction(::std::string const& name) /*override*/;
120
121 // vIndex: 15
122 virtual ::Scripting::Result_deprecated<bool> commitOpenTransaction() /*override*/;
123
124 // vIndex: 16
125 virtual ::Scripting::Result_deprecated<bool> discardOpenTransaction() /*override*/;
126
127 // vIndex: 17
128 virtual ::Scripting::Result_deprecated<bool> addUserDefinedOperation(
129 ::std::string const& payload,
130 ::std::string const& operationName,
131 ::std::function<::Scripting::Result<void>(::std::string const&)> fnUndo,
132 ::std::function<::Scripting::Result<void>(::std::string const&)> fnRedo
133 ) /*override*/;
134
135 // vIndex: 18
136 virtual uint64 pendingOperationsSize() const /*override*/;
137
138 // vIndex: 19
139 virtual bool hasOpenTransaction() const /*override*/;
140
141 // vIndex: 20
142 virtual void clearAllTransactionData() /*override*/;
143
144 // vIndex: 21
145 virtual bool isBusy() const /*override*/;
146 // NOLINTEND
147
148public:
149 // member functions
150 // NOLINTBEGIN
151 MCAPI void _handleRedoMessage(::Editor::Network::RedoOperationPayload const&);
152
153 MCAPI void _handleUndoMessage(::Editor::Network::UndoOperationPayload const&);
154
155 MCAPI ::Scripting::Result<void> _redo();
156
157 MCAPI ::Scripting::Result_deprecated<bool>
158 _trackBlockChanges(::BlockSource const& region, ::std::vector<::BlockPos> const& locations);
159
160 MCAPI ::Scripting::Result<void> _undo();
161 // NOLINTEND
162
163public:
164 // destructor thunk
165 // NOLINTBEGIN
166 MCAPI void $dtor();
167 // NOLINTEND
168
169public:
170 // virtual function thunks
171 // NOLINTBEGIN
172 MCAPI ::EventResult $onEvent(::PlayerDimensionChangeBeforeEvent const&);
173
174 MCAPI ::Scripting::Result<void> $init();
175
176 MCAPI ::Scripting::Result<void> $ready();
177
178 MCAPI ::Scripting::Result<void> $quit();
179
180 MCAPI ::std::string_view $getServiceName() const;
181
182 MCAPI void $addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext> transactionContext);
183
184 MCAPI void $clearTransactions();
185
186 MCAPI ::Scripting::Result<void> $undo();
187
188 MCAPI ::Scripting::Result<void> $redo();
189
190 MCAPI uint64 $undoSize() const;
191
192 MCAPI uint64 $redoSize() const;
193
194 MCAPI ::Scripting::Result_deprecated<bool> $trackBlockChangeList(::std::vector<::BlockPos> const& locations);
195
196 MCAPI ::Scripting::Result_deprecated<bool> $trackBlockChangeArea(::BlockPos const& from, ::BlockPos const& to);
197
198 MCAPI ::Scripting::Result_deprecated<bool>
199 $trackBlockChangeSelection(::Editor::Selection::SelectionContainer const& selection);
200
201 MCAPI ::Scripting::Result_deprecated<bool>
202 $trackBlockChangeCompoundBlockVolume(::CompoundBlockVolume const& compoundVolume);
203
204 MCAPI ::Scripting::Result<bool, ::Scripting::Error>
205 $addEntityOperation(::Actor* entity, ::Editor::Transactions::EntityOperation::OperationType type);
206
207 MCAPI ::Scripting::Result_deprecated<int> $commitTrackedChanges();
208
209 MCAPI ::Scripting::Result_deprecated<int> $discardTrackedChanges();
210
211 MCAPI ::Scripting::Result_deprecated<bool> $openTransaction(::std::string const& name);
212
213 MCAPI ::Scripting::Result_deprecated<bool> $commitOpenTransaction();
214
215 MCAPI ::Scripting::Result_deprecated<bool> $discardOpenTransaction();
216
217 MCAPI ::Scripting::Result_deprecated<bool> $addUserDefinedOperation(
218 ::std::string const& payload,
219 ::std::string const& operationName,
220 ::std::function<::Scripting::Result<void>(::std::string const&)> fnUndo,
221 ::std::function<::Scripting::Result<void>(::std::string const&)> fnRedo
222 );
223
224 MCAPI uint64 $pendingOperationsSize() const;
225
226 MCFOLD bool $hasOpenTransaction() const;
227
228 MCAPI void $clearAllTransactionData();
229
230 MCAPI bool $isBusy() const;
231 // NOLINTEND
232
233public:
234 // vftables
235 // NOLINTBEGIN
236 MCAPI static void** $vftableForEventListenerDispatcher();
237
238 MCAPI static void** $vftableForIEditorService();
239
240 MCAPI static void** $vftableForTransactionManagerServiceProvider();
241 // NOLINTEND
242};
243
244} // namespace Editor::Services
Definition Actor.h:104
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition CompoundBlockVolume.h:18
Definition RedoOperationPayload.h:10
Definition UndoOperationPayload.h:10
Definition SelectionContainer.h:26
Definition IEditorService.h:11
Definition TransactionManagerServiceProvider.h:22
Definition TransactionManagerService.h:33
Definition EventListenerDispatcher.h:6
Definition PlayerEventListener.h:29
Definition Result.h:8
Definition TransactionContext.h:5
Definition PlayerDimensionChangeBeforeEvent.h:16
Definition Alias.h:14