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/scripting/runtime/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; }
24namespace Editor::Services { struct PersistenceGroupManifest; }
25namespace Editor::Services { struct PersistenceGroupMetadata; }
26// clang-format on
27
28namespace Editor::Services {
29
30class EditorPersistenceService : public ::Editor::Services::IEditorService,
33public:
34 // member variables
35 // NOLINTBEGIN
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 EditorPersistenceService& operator=(EditorPersistenceService const&);
46 EditorPersistenceService(EditorPersistenceService const&);
47 EditorPersistenceService();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ~EditorPersistenceService() /*override*/;
53
54 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
55
56 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
57
58 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
59
60 virtual ::std::string_view getServiceName() const /*override*/;
61
62 virtual ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup>> getGroup(
63 ::std::string const& namespacedName,
64 ::Editor::Services::PersistenceScope scope,
65 ::std::optional<int> version
66 ) /*override*/;
67
68 virtual ::Scripting::Result_deprecated<void> deleteGroup(
69 ::std::string const& namespacedName,
70 ::Editor::Services::PersistenceScope scope,
71 ::std::optional<int> version
72 ) /*override*/;
73
74 virtual ::Scripting::Result_deprecated<void>
75 deleteGroup(::StackRefResult<::Editor::Services::PersistenceGroup> const group) /*override*/;
76
77 virtual ::std::vector<::StackRefResult<::Editor::Services::PersistenceGroup>> fetchGroups(
78 ::std::optional<::std::string> groupNamespace,
79 ::std::optional<::std::string> namespacedName,
80 ::std::optional<::Editor::Services::PersistenceScope> scope,
81 ::std::optional<int> version
82 ) /*override*/;
83
84 virtual ::Scripting::Result_deprecated<void> requestGroup(
85 ::std::string const& namespacedName,
86 ::Editor::Services::PersistenceScope scope,
87 ::std::optional<int> version,
89 callback
90 ) /*override*/;
91
92 virtual ::Scripting::Result_deprecated<void>
93 syncAndSaveGroup(::StackRefResult<::Editor::Services::PersistenceGroup> group) /*override*/;
94
95 virtual ::Core::PathBuffer<::std::string> _getGroupRootPath(::Editor::Services::PersistenceScope scope) const = 0;
96 // NOLINTEND
97
98public:
99 // member functions
100 // NOLINTBEGIN
102
103 MCNAPI ::WeakRef<::Editor::Services::PersistenceGroup> _createCacheGroup(
104 ::std::string const& namespacedName,
105 ::Editor::Services::PersistenceScope scope,
106 int version,
107 ::Editor::Services::PersistenceGroupType groupType
108 );
109
110 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup>> _createGroup(
111 ::std::string const& namespacedName,
112 ::Editor::Services::PersistenceScope scope,
113 ::std::optional<int> version,
114 ::Editor::Services::PersistenceGroupType groupType
115 );
116
117 MCNAPI ::StackRefResult<::Editor::Services::PersistenceGroup> _getGroup(
118 ::std::string const& namespacedName,
119 ::Editor::Services::PersistenceScope scope,
120 ::std::optional<int> version
121 );
122
123 MCNAPI ::std::optional<::Editor::Services::PersistenceGroupMetadata> _getGroupMetaData(
124 ::std::string const& namespacedName,
125 ::Editor::Services::PersistenceScope scope,
126 ::std::optional<int> version
127 );
128
129 MCNAPI ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
130 _getManifestFilePath(::Editor::Services::PersistenceScope scope);
131
132 MCNAPI int _getMaxVersion(::std::string const& namespacedName, ::Editor::Services::PersistenceScope scope);
133
134 MCNAPI ::Core::PathBuffer<::std::string> _getPath(
135 ::std::string const& namespacedName,
136 ::Editor::Services::PersistenceScope scope,
137 ::std::optional<int> version
138 ) const;
139
141
143
145
146 MCNAPI void _loadGroupMetaData(::Editor::Services::PersistenceScope scope);
147
148 MCNAPI ::std::optional<::Editor::Services::PersistenceGroupManifest> _parseJsonToGroupManifest(::std::string value);
149
150 MCNAPI bool _saveGroupMetaData(::Editor::Services::PersistenceScope scope);
151 // NOLINTEND
152
153public:
154 // constructor thunks
155 // NOLINTBEGIN
157 // NOLINTEND
158
159public:
160 // destructor thunk
161 // NOLINTBEGIN
162 MCNAPI void $dtor();
163 // NOLINTEND
164
165public:
166 // virtual function thunks
167 // NOLINTBEGIN
168 MCNAPI ::Scripting::Result_deprecated<void> $init();
169
170 MCNAPI ::Scripting::Result_deprecated<void> $quit();
171
172 MCNAPI ::Scripting::Result_deprecated<void> $ready();
173
174 MCNAPI ::std::string_view $getServiceName() const;
175
176 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceGroup>> $getGroup(
177 ::std::string const& namespacedName,
178 ::Editor::Services::PersistenceScope scope,
179 ::std::optional<int> version
180 );
181
182 MCNAPI ::Scripting::Result_deprecated<void> $deleteGroup(
183 ::std::string const& namespacedName,
184 ::Editor::Services::PersistenceScope scope,
185 ::std::optional<int> version
186 );
187
188 MCNAPI ::Scripting::Result_deprecated<void>
190
191 MCNAPI ::std::vector<::StackRefResult<::Editor::Services::PersistenceGroup>> $fetchGroups(
192 ::std::optional<::std::string> groupNamespace,
193 ::std::optional<::std::string> namespacedName,
194 ::std::optional<::Editor::Services::PersistenceScope> scope,
195 ::std::optional<int> version
196 );
197
198 MCNAPI ::Scripting::Result_deprecated<void> $requestGroup(
199 ::std::string const& namespacedName,
200 ::Editor::Services::PersistenceScope scope,
201 ::std::optional<int> version,
203 callback
204 );
205
206 MCNAPI ::Scripting::Result_deprecated<void>
208
209
210 // NOLINTEND
211
212public:
213 // vftables
214 // NOLINTBEGIN
216
217 MCNAPI static void** $vftableForIEditorService();
218 // NOLINTEND
219};
220
221} // 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
static MCAPI void ** $vftableForEditorPersistenceServiceProvider()
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 ::std::optional<::Editor::Services::PersistenceGroupManifest > _parseJsonToGroupManifest(::std::string value)
MCAPI ::std::optional<::Editor::Services::PersistenceGroupMetadata > _getGroupMetaData(::std::string const &namespacedName, ::Editor::Services::PersistenceScope scope, ::std::optional< int > version)
static MCAPI void ** $vftableForIEditorService()
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:25
Definition Result_deprecated.h:8
Definition StackRefResult.h:7
Definition PersistenceGroupManifest.h:12
Definition PersistenceGroupMetadata.h:15
Definition Alias.h:14