LeviLamina
Loading...
Searching...
No Matches
TransactionManagerServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Bedrock::PubSub { class Subscription; }
12namespace Editor::Transactions { class PendingTransaction; }
13namespace Editor::Transactions { class TransactionContext; }
14namespace Editor::Transactions { struct TransactionEvent; }
15namespace Editor::Transactions { struct TransactionOperationEvent; }
16namespace mce { class UUID; }
17// clang-format on
18
19namespace Editor::Services {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~TransactionManagerServiceProvider() = default;
26
27 virtual void addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext> transactionContext) = 0;
28
29 virtual void clearTransactions() = 0;
30
31 virtual ::WeakRef<::Editor::Transactions::PendingTransaction>
32 createPendingTransaction(::std::string const& name) = 0;
33
34 virtual ::WeakRef<::Editor::Transactions::PendingTransaction> getPendingTransaction(::mce::UUID const& id) = 0;
35
36 virtual ::std::vector<::WeakRef<::Editor::Transactions::PendingTransaction>>
37 getPendingTransactionsByName(::std::string const& name) = 0;
38
39 virtual ::Scripting::Result_deprecated<void> discardPendingTransaction(::mce::UUID const& id) = 0;
40
41 virtual ::Scripting::Result_deprecated<void> finalizePendingTransaction(::mce::UUID const& id) = 0;
42
43 virtual uint64 pendingTransactionCount() const = 0;
44
45 virtual ::Bedrock::PubSub::Subscription registerTransactionEventListener(
46 ::std::function<void(::Editor::Transactions::TransactionEvent const&)> callback
47 ) = 0;
48
49 virtual ::Bedrock::PubSub::Subscription registerTransactionOperationEventListener(
50 ::std::function<void(::Editor::Transactions::TransactionOperationEvent const&)> callback
51 ) = 0;
52
53 virtual ::Scripting::Result_deprecated<void> undo() = 0;
54
55 virtual ::Scripting::Result_deprecated<void> redo() = 0;
56
57 virtual uint64 undoSize() const = 0;
58
59 virtual uint64 redoSize() const = 0;
60
61 virtual void clearAllTransactionData() = 0;
62 // NOLINTEND
63};
64
65} // namespace Editor::Services
Definition Subscription.h:10
Definition TransactionManagerServiceProvider.h:21
Definition PendingTransaction.h:21
Definition TransactionContext.h:16
Definition UUID.h:7
Definition TransactionEvent.h:7
Definition TransactionOperationEvent.h:7