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/common/editor/EntityOperation.h"
7#include "mc/deps/scripting/runtime/Result_deprecated.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class BlockPos;
13class BlockVolumeBase;
14namespace Editor::Transactions { class TransactionContext; }
15// clang-format on
16
17namespace Editor::Services {
18
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 virtual ~TransactionManagerServiceProvider() = default;
24
25 virtual void addTransaction(::std::unique_ptr<::Editor::Transactions::TransactionContext>) = 0;
26
27 virtual void clearTransactions() = 0;
28
29 virtual ::Scripting::Result_deprecated<void> undo() = 0;
30
31 virtual ::Scripting::Result_deprecated<void> redo() = 0;
32
33 virtual uint64 undoSize() const = 0;
34
35 virtual uint64 redoSize() const = 0;
36
37 virtual ::Scripting::Result_deprecated<bool> trackBlockChangeList(::std::vector<::BlockPos> const&) = 0;
38
39 virtual ::Scripting::Result_deprecated<bool> trackBlockChangeArea(::BlockPos const&, ::BlockPos const&) = 0;
40
41 virtual ::Scripting::Result_deprecated<bool> trackBlockChangeVolume(::BlockVolumeBase const&) = 0;
42
43 virtual ::Scripting::Result_deprecated<bool>
44 addEntityOperation(::Actor*, ::Editor::Transactions::EntityOperation::OperationType const) = 0;
45
46 virtual ::Scripting::Result_deprecated<int> commitTrackedChanges() = 0;
47
48 virtual ::Scripting::Result_deprecated<int> discardTrackedChanges() = 0;
49
50 virtual ::Scripting::Result_deprecated<bool> openTransaction(::std::string const& name) = 0;
51
52 virtual ::Scripting::Result_deprecated<bool> commitOpenTransaction() = 0;
53
54 virtual ::Scripting::Result_deprecated<bool> discardOpenTransaction() = 0;
55
56 virtual ::Scripting::Result_deprecated<bool> addUserDefinedOperation(
57 ::std::string const&,
58 ::std::string const&,
59 ::std::function<::Scripting::Result_deprecated<void>(::std::string const&)>,
60 ::std::function<::Scripting::Result_deprecated<void>(::std::string const&)>
61 ) = 0;
62
63 virtual uint64 pendingOperationsSize() const = 0;
64
65 virtual bool hasOpenTransaction() const = 0;
66
67 virtual void clearAllTransactionData() = 0;
68
69 virtual bool isBusy() const = 0;
70 // NOLINTEND
71
72public:
73 // static variables
74 // NOLINTBEGIN
75 MCNAPI static ::std::add_lvalue_reference_t<char const[]> ERROR_BUSY_SERVICE();
76
77 MCNAPI static ::std::add_lvalue_reference_t<char const[]> ERROR_NO_OPEN_TRANSACTION();
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83
84 // NOLINTEND
85};
86
87} // namespace Editor::Services
Definition Actor.h:105
Definition BlockPos.h:19
Definition BlockVolumeBase.h:13
Definition TransactionManagerServiceProvider.h:19
static MCAPI ::std::add_lvalue_reference_t< char const[]> ERROR_NO_OPEN_TRANSACTION()
static MCAPI ::std::add_lvalue_reference_t< char const[]> ERROR_BUSY_SERVICE()
Definition TransactionContext.h:16
Definition Result_deprecated.h:8