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_deprecated.h"
8#include "mc/editor/services/IEditorService.h"
9#include "mc/server/editor/serviceproviders/TransactionManagerServiceProvider.h"
10#include "mc/world/events/EventListenerDispatcher.h"
11#include "mc/world/events/EventResult.h"
12#include "mc/world/events/PlayerEventListener.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
17class BlockPos;
18class BlockSource;
19class BlockVolumeBase;
21namespace Editor { class ServiceProviderCollection; }
22namespace Editor::Network { class RedoOperationPayload; }
23namespace Editor::Network { class UndoOperationPayload; }
24namespace Editor::Transactions { class TransactionContext; }
25// clang-format on
26
27namespace Editor::Services {
28
29class TransactionManagerService : public ::Editor::Services::IEditorService,
31 public ::EventListenerDispatcher<::PlayerEventListener> {
32public:
33 // member variables
34 // NOLINTBEGIN
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 TransactionManagerService& operator=(TransactionManagerService const&);
47 TransactionManagerService(TransactionManagerService const&);
48 TransactionManagerService();
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 virtual ::EventResult onEvent(::PlayerDimensionChangeBeforeEvent const&) /*override*/;
54
55 virtual ~TransactionManagerService() /*override*/;
56
57 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
58
59 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
60
61 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
62
63 virtual ::std::string_view getServiceName() const /*override*/;
64
65 virtual void
66 addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext> transactionContext) /*override*/;
67
68 virtual void clearTransactions() /*override*/;
69
70 virtual ::Scripting::Result_deprecated<void> undo() /*override*/;
71
72 virtual ::Scripting::Result_deprecated<void> redo() /*override*/;
73
74 virtual uint64 undoSize() const /*override*/;
75
76 virtual uint64 redoSize() const /*override*/;
77
78 virtual ::Scripting::Result_deprecated<bool>
79 trackBlockChangeList(::std::vector<::BlockPos> const& locations) /*override*/;
80
81 virtual ::Scripting::Result_deprecated<bool>
82 trackBlockChangeArea(::BlockPos const& from, ::BlockPos const& to) /*override*/;
83
84 virtual ::Scripting::Result_deprecated<bool> trackBlockChangeVolume(::BlockVolumeBase const& volume) /*override*/;
85
86 virtual ::Scripting::Result_deprecated<bool>
87 addEntityOperation(::Actor* entity, ::Editor::Transactions::EntityOperation::OperationType type) /*override*/;
88
89 virtual ::Scripting::Result_deprecated<int> commitTrackedChanges() /*override*/;
90
91 virtual ::Scripting::Result_deprecated<int> discardTrackedChanges() /*override*/;
92
93 virtual ::Scripting::Result_deprecated<bool> openTransaction(::std::string const& name) /*override*/;
94
95 virtual ::Scripting::Result_deprecated<bool> commitOpenTransaction() /*override*/;
96
97 virtual ::Scripting::Result_deprecated<bool> discardOpenTransaction() /*override*/;
98
99 virtual ::Scripting::Result_deprecated<bool> addUserDefinedOperation(
100 ::std::string const& payload,
101 ::std::string const& operationName,
102 ::std::function<::Scripting::Result_deprecated<void>(::std::string const&)> fnUndo,
103 ::std::function<::Scripting::Result_deprecated<void>(::std::string const&)> fnRedo
104 ) /*override*/;
105
106 virtual uint64 pendingOperationsSize() const /*override*/;
107
108 virtual bool hasOpenTransaction() const /*override*/;
109
110 virtual void clearAllTransactionData() /*override*/;
111
112 virtual bool isBusy() const /*override*/;
113 // NOLINTEND
114
115public:
116 // member functions
117 // NOLINTBEGIN
119
121
123
124 MCNAPI ::Scripting::Result_deprecated<void> _redo();
125
126 MCNAPI ::Scripting::Result_deprecated<bool>
127 _trackBlockChanges(::BlockSource const& region, ::std::vector<::BlockPos> const& locations);
128
129 MCNAPI ::Scripting::Result_deprecated<void> _undo();
130 // NOLINTEND
131
132public:
133 // constructor thunks
134 // NOLINTBEGIN
136 // NOLINTEND
137
138public:
139 // destructor thunk
140 // NOLINTBEGIN
141 MCNAPI void $dtor();
142 // NOLINTEND
143
144public:
145 // virtual function thunks
146 // NOLINTBEGIN
147 MCNAPI ::EventResult $onEvent(::PlayerDimensionChangeBeforeEvent const&);
148
149 MCNAPI ::Scripting::Result_deprecated<void> $init();
150
151 MCNAPI ::Scripting::Result_deprecated<void> $ready();
152
153 MCNAPI ::Scripting::Result_deprecated<void> $quit();
154
155 MCNAPI ::std::string_view $getServiceName() const;
156
157 MCNAPI void $addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext> transactionContext);
158
159 MCNAPI void $clearTransactions();
160
161 MCNAPI ::Scripting::Result_deprecated<void> $undo();
162
163 MCNAPI ::Scripting::Result_deprecated<void> $redo();
164
165 MCNAPI uint64 $undoSize() const;
166
167 MCNAPI uint64 $redoSize() const;
168
169 MCNAPI ::Scripting::Result_deprecated<bool> $trackBlockChangeList(::std::vector<::BlockPos> const& locations);
170
171 MCNAPI ::Scripting::Result_deprecated<bool> $trackBlockChangeArea(::BlockPos const& from, ::BlockPos const& to);
172
173 MCNAPI ::Scripting::Result_deprecated<bool> $trackBlockChangeVolume(::BlockVolumeBase const& volume);
174
175 MCNAPI ::Scripting::Result_deprecated<bool>
176 $addEntityOperation(::Actor* entity, ::Editor::Transactions::EntityOperation::OperationType type);
177
178 MCNAPI ::Scripting::Result_deprecated<int> $commitTrackedChanges();
179
180 MCNAPI ::Scripting::Result_deprecated<int> $discardTrackedChanges();
181
182 MCNAPI ::Scripting::Result_deprecated<bool> $openTransaction(::std::string const& name);
183
184 MCNAPI ::Scripting::Result_deprecated<bool> $commitOpenTransaction();
185
186 MCNAPI ::Scripting::Result_deprecated<bool> $discardOpenTransaction();
187
188 MCNAPI ::Scripting::Result_deprecated<bool> $addUserDefinedOperation(
189 ::std::string const& payload,
190 ::std::string const& operationName,
191 ::std::function<::Scripting::Result_deprecated<void>(::std::string const&)> fnUndo,
192 ::std::function<::Scripting::Result_deprecated<void>(::std::string const&)> fnRedo
193 );
194
195 MCNAPI uint64 $pendingOperationsSize() const;
196
197 MCNAPI bool $hasOpenTransaction() const;
198
200
201 MCNAPI bool $isBusy() const;
202
203
204 // NOLINTEND
205
206public:
207 // vftables
208 // NOLINTBEGIN
210
211 MCNAPI static void** $vftableForIEditorService();
212
214 // NOLINTEND
215};
216
217} // namespace Editor::Services
Definition Actor.h:105
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockVolumeBase.h:13
Definition RedoOperationPayload.h:10
Definition UndoOperationPayload.h:10
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition TransactionManagerServiceProvider.h:19
MCAPI ::Scripting::Result_deprecated< bool > $trackBlockChangeVolume(::BlockVolumeBase const &volume)
static MCAPI void ** $vftableForTransactionManagerServiceProvider()
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::Scripting::Result_deprecated< bool > $discardOpenTransaction()
MCAPI ::Scripting::Result_deprecated< int > $commitTrackedChanges()
MCAPI::EventResult $onEvent(::PlayerDimensionChangeBeforeEvent const &)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< bool > $addEntityOperation(::Actor *entity, ::Editor::Transactions::EntityOperation::OperationType type)
MCAPI void $addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext > transactionContext)
static MCAPI void ** $vftableForEventListenerDispatcher()
MCAPI void _handleRedoMessage(::Editor::Network::RedoOperationPayload const &)
static MCAPI void ** $vftableForIEditorService()
MCAPI ::Scripting::Result_deprecated< int > $discardTrackedChanges()
MCAPI ::Scripting::Result_deprecated< bool > $trackBlockChangeArea(::BlockPos const &from, ::BlockPos const &to)
MCAPI ::Scripting::Result_deprecated< void > _undo()
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI ::Scripting::Result_deprecated< bool > $commitOpenTransaction()
MCAPI ::Scripting::Result_deprecated< bool > $openTransaction(::std::string const &name)
MCAPI ::Scripting::Result_deprecated< void > $redo()
MCAPI ::Scripting::Result_deprecated< void > _redo()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< bool > $addUserDefinedOperation(::std::string const &payload, ::std::string const &operationName, ::std::function<::Scripting::Result_deprecated< void >(::std::string const &)> fnUndo, ::std::function<::Scripting::Result_deprecated< void >(::std::string const &)> fnRedo)
MCAPI ::Scripting::Result_deprecated< void > $undo()
MCAPI ::Scripting::Result_deprecated< bool > _trackBlockChanges(::BlockSource const &region, ::std::vector<::BlockPos > const &locations)
MCAPI void _handleUndoMessage(::Editor::Network::UndoOperationPayload const &)
MCAPI ::Scripting::Result_deprecated< bool > $trackBlockChangeList(::std::vector<::BlockPos > const &locations)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI TransactionManagerService(::Editor::ServiceProviderCollection &providers)
Definition TransactionContext.h:16
Definition EventListenerDispatcher.h:6
Definition Result_deprecated.h:8
Definition PlayerDimensionChangeBeforeEvent.h:16
Definition Alias.h:14