LeviLamina
Loading...
Searching...
No Matches
EditorPersistenceService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/PersistenceGroupType.h"
7#include "mc/common/editor/PersistenceScope.h"
8#include "mc/deps/core/file/PathBuffer.h"
9#include "mc/deps/core/string/BasicStackString.h"
10#include "mc/deps/game_refs/StackRefResult.h"
11#include "mc/deps/game_refs/WeakRef.h"
12#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
13#include "mc/editor/serviceproviders/EditorPersistenceServiceProvider.h"
14#include "mc/editor/services/IEditorService.h"
15#include "mc/editor/services/PayloadStoreHelper.h"
16
17// auto generated forward declare list
18// clang-format off
19namespace Editor { class ServiceProviderCollection; }
20namespace Editor::Network { class PersistenceRequestGroupPayload; }
21namespace Editor::Network { class PersistenceResponseGroupPayload; }
22namespace Editor::Network { class SavePersistenceGroupPayload; }
23namespace Editor::Services { class PersistenceGroup; }
24// clang-format on
25
26namespace Editor::Services {
27
28class EditorPersistenceService : public ::Editor::Services::IEditorService,
31public:
32 // member variables
33 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 EditorPersistenceService& operator=(EditorPersistenceService const&);
44 EditorPersistenceService(EditorPersistenceService const&);
45 EditorPersistenceService();
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~EditorPersistenceService() /*override*/;
51
52 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
53
54 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
55
56 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
57
58 virtual ::std::string_view getServiceName() const /*override*/;
59
60 virtual ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup>> getGroup(
61 ::std::string const& namespacedName,
62 ::Editor::Services::PersistenceScope scope,
63 ::std::optional<int> version
64 ) /*override*/;
65
66 virtual ::Scripting::Result_deprecated<void> deleteGroup(
67 ::std::string const& namespacedName,
68 ::Editor::Services::PersistenceScope scope,
69 ::std::optional<int> version
70 ) /*override*/;
71
72 virtual ::Scripting::Result_deprecated<void>
73 deleteGroup(::StackRefResult<::Editor::Services::PersistenceGroup> const group) /*override*/;
74
75 virtual ::std::vector<::StackRefResult<::Editor::Services::PersistenceGroup>> fetchGroups(
76 ::std::optional<::std::string> groupNamespace,
77 ::std::optional<::std::string> namespacedName,
78 ::std::optional<::Editor::Services::PersistenceScope> scope,
79 ::std::optional<int> version
80 ) /*override*/;
81
82 virtual ::Scripting::Result_deprecated<void> requestGroup(
83 ::std::string const& namespacedName,
84 ::Editor::Services::PersistenceScope scope,
85 ::std::optional<int> version,
87 callback
88 ) /*override*/;
89
90 virtual ::Scripting::Result_deprecated<void>
91 syncAndSaveGroup(::StackRefResult<::Editor::Services::PersistenceGroup> group) /*override*/;
92
93 virtual ::Core::PathBuffer<::std::string> _getGroupRootPath(::Editor::Services::PersistenceScope scope) const = 0;
94 // NOLINTEND
95
96public:
97 // member functions
98 // NOLINTBEGIN
100
101 MCNAPI ::WeakRef<::Editor::Services::PersistenceGroup> _createCacheGroup(
102 ::std::string const& namespacedName,
103 ::Editor::Services::PersistenceScope scope,
104 int version,
105 ::Editor::Services::PersistenceGroupType groupType
106 );
107
108 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup>> _createGroup(
109 ::std::string const& namespacedName,
110 ::Editor::Services::PersistenceScope scope,
111 ::std::optional<int> version,
112 ::Editor::Services::PersistenceGroupType groupType
113 );
114
115 MCNAPI ::StackRefResult<::Editor::Services::PersistenceGroup> _getGroup(
116 ::std::string const& namespacedName,
117 ::Editor::Services::PersistenceScope scope,
118 ::std::optional<int> version
119 );
120
121 MCNAPI ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
122 _getManifestFilePath(::Editor::Services::PersistenceScope scope);
123
124 MCNAPI int _getMaxVersion(::std::string const& namespacedName, ::Editor::Services::PersistenceScope scope);
125
126 MCNAPI ::Core::PathBuffer<::std::string> _getPath(
127 ::std::string const& namespacedName,
128 ::Editor::Services::PersistenceScope scope,
129 ::std::optional<int> version
130 ) const;
131
133
135
137
138 MCNAPI void _loadGroupMetaData(::Editor::Services::PersistenceScope scope);
139
140 MCNAPI bool _saveGroupMetaData(::Editor::Services::PersistenceScope scope);
141 // NOLINTEND
142
143public:
144 // constructor thunks
145 // NOLINTBEGIN
147 // NOLINTEND
148
149public:
150 // destructor thunk
151 // NOLINTBEGIN
152 MCNAPI void $dtor();
153 // NOLINTEND
154
155public:
156 // virtual function thunks
157 // NOLINTBEGIN
158 MCNAPI ::Scripting::Result_deprecated<void> $init();
159
160 MCNAPI ::Scripting::Result_deprecated<void> $quit();
161
162 MCNAPI ::Scripting::Result_deprecated<void> $ready();
163
164 MCNAPI ::std::string_view $getServiceName() const;
165
166 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup>> $getGroup(
167 ::std::string const& namespacedName,
168 ::Editor::Services::PersistenceScope scope,
169 ::std::optional<int> version
170 );
171
172 MCNAPI ::Scripting::Result_deprecated<void> $deleteGroup(
173 ::std::string const& namespacedName,
174 ::Editor::Services::PersistenceScope scope,
175 ::std::optional<int> version
176 );
177
178 MCNAPI ::Scripting::Result_deprecated<void>
180
181 MCNAPI ::std::vector<::StackRefResult<::Editor::Services::PersistenceGroup>> $fetchGroups(
182 ::std::optional<::std::string> groupNamespace,
183 ::std::optional<::std::string> namespacedName,
184 ::std::optional<::Editor::Services::PersistenceScope> scope,
185 ::std::optional<int> version
186 );
187
188 MCNAPI ::Scripting::Result_deprecated<void> $requestGroup(
189 ::std::string const& namespacedName,
190 ::Editor::Services::PersistenceScope scope,
191 ::std::optional<int> version,
193 callback
194 );
195
196 MCNAPI ::Scripting::Result_deprecated<void>
198
199
200 // NOLINTEND
201};
202
203} // namespace Editor::Services
Definition PersistenceRequestGroupPayload.h:17
Definition PersistenceResponseGroupPayload.h:16
Definition SavePersistenceGroupPayload.h:16
Definition ServiceProviderCollection.h:7
Definition EditorPersistenceServiceProvider.h:18
MCAPI ::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > _getManifestFilePath(::Editor::Services::PersistenceScope scope)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI void _handleRequestGroupPayload(::Editor::Network::PersistenceRequestGroupPayload const &payload)
MCAPI bool _saveGroupMetaData(::Editor::Services::PersistenceScope scope)
MCAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup > > $getGroup(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version)
MCAPI void _handleSaveGroupPayload(::Editor::Network::SavePersistenceGroupPayload const &payload)
MCAPI EditorPersistenceService(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $deleteGroup(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version)
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup > > _createGroup(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version, ::Editor::Services::PersistenceGroupType groupType)
MCAPI ::Scripting::Result_deprecated< void > $deleteGroup(::StackRefResult<::Editor::Services::PersistenceGroup > const group)
MCAPI void _loadGroupMetaData(::Editor::Services::PersistenceScope scope)
MCAPI ::StackRefResult<::Editor::Services::PersistenceGroup > _getGroup(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version)
MCAPI ::Core::PathBuffer<::std::string > _getPath(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version) const
MCAPI ::Scripting::Result_deprecated< void > $requestGroup(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version, ::std::function< void(::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup > >)> callback)
MCAPI ::WeakRef<::Editor::Services::PersistenceGroup > _createCacheGroup(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, int version, ::Editor::Services::PersistenceGroupType groupType)
MCAPI int _getMaxVersion(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::Scripting::Result_deprecated< void > $syncAndSaveGroup(::StackRefResult<::Editor::Services::PersistenceGroup > group)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void _handleResponseGroupPayload(::Editor::Network::PersistenceResponseGroupPayload const &payload)
MCAPI ::std::vector<::StackRefResult<::Editor::Services::PersistenceGroup > > $fetchGroups(::std::optional<::std::string > groupNamespace, ::std::optional<::std::string > namespacedName, ::std::optional<::Editor::Services::PersistenceScope > scope, ::std::optional< int > version)
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition PersistenceGroup.h:22
Definition Result_deprecated.h:8
Definition StackRefResult.h:7
Definition Alias.h:14