LeviLamina
Loading...
Searching...
No Matches
EditorStructureDBManagerService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/EditorStructureDBManagerServiceProvider.h"
7#include "mc/common/editor/IStructureDataProvider.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/editor/services/IEditorService.h"
10
11// auto generated forward declare list
12// clang-format off
13class HashedString;
15namespace Core { class Path; }
16namespace Editor { class EditorStructureSourceDataItem; }
17namespace Editor { class EditorStructureTemplate; }
18namespace Editor { class ServiceProviderCollection; }
19namespace Editor { struct EditorStructureDBMetadata; }
20namespace Editor { struct EditorStructureMetadataDeleteEditResult; }
21namespace Editor { struct EditorStructureMetadataEditParams; }
22namespace Editor { struct EditorStructureMetadataQueryParams; }
23namespace mce { class UUID; }
24// clang-format on
25
26namespace Editor::Services {
27
31public:
32 // member variables
33 // NOLINTBEGIN
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 // vIndex: 0
56 virtual ~EditorStructureDBManagerService() /*override*/;
57
58 // vIndex: 1
59 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
60
61 // vIndex: 3
62 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
63
64 // vIndex: 2
65 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
66
67 // vIndex: 4
68 virtual ::std::string_view getServiceName() const /*override*/;
69
70 // vIndex: 1
71 virtual ::std::optional<::std::string> createNewEditorProjectStructure(
72 ::Editor::EditorStructureTemplate const& templateData,
73 ::std::string const& id,
74 ::std::optional<::std::string> const& fullName,
75 ::std::optional<::std::string> const& displayName
76 ) /*override*/;
77
78 // vIndex: 2
79 virtual bool replaceMCStructureFromTemplate(
80 ::mce::UUID const& guid,
81 ::Editor::EditorStructureTemplate const& structureTemplate,
82 bool isHost
83 ) /*override*/;
84
85 // vIndex: 3
86 virtual ::std::optional<::Editor::EditorStructureTemplate> load(::mce::UUID const& guid) const /*override*/;
87
88 // vIndex: 4
89 virtual ::std::vector<::HashedString> const getEditorStructureGuids() const /*override*/;
90
91 // vIndex: 5
92 virtual ::std::vector<::Editor::EditorStructureDBMetadata> const
93 queryEditorStructureDBMetadata(::Editor::EditorStructureMetadataQueryParams const& params) const /*override*/;
94
95 // vIndex: 6
96 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
97 deleteEditorStructureDBMetadataByGuid(::mce::UUID const& guid, bool isHost) /*override*/;
98
99 // vIndex: 7
100 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
101 editEditorStructureDBMetadata(::Editor::EditorStructureMetadataEditParams const& params, bool isHost) /*override*/;
102
103 // vIndex: 8
104 virtual ::std::optional<::Editor::EditorStructureDBMetadata> const
105 getEditorStructureMetadataByGuid(::mce::UUID const& guid) const /*override*/;
106
107 // vIndex: 9
108 virtual void processLevelStructures() /*override*/;
109
110 // vIndex: 0
111 virtual bool hasStructureData(::mce::UUID const& id) const /*override*/;
112
113 // vIndex: 1
114 virtual ::Scripting::Result_deprecated<::std::variant<
115 ::StructureTemplate const*,
117 ::std::shared_ptr<::StructureTemplate const>,
118 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
119 getStructureData(::mce::UUID const& id) const /*override*/;
120 // NOLINTEND
121
122public:
123 // member functions
124 // NOLINTBEGIN
126
127 MCNAPI ::std::optional<::mce::UUID> _addToEditorStructureDB(
130 );
131
132 MCNAPI ::std::pair<::std::optional<::mce::UUID>, ::std::optional<::std::string>> _addToEditorStructureDB(
133 ::Editor::EditorStructureSourceDataItem const& mcStructureData,
134 ::std::optional<::std::string> const& id,
135 ::std::optional<::std::string> const& displayName
136 );
137
139 ::mce::UUID const& guid,
140 ::Editor::EditorStructureSourceDataItem const& mcStructureData,
142 );
143
144 MCNAPI ::std::string const _getJsonStringFromMetadata(::Editor::EditorStructureDBMetadata const& metaData) const;
145
146 MCNAPI ::std::string _getNameFromStructurePath(::Core::Path const& path) const;
147
148 MCNAPI ::std::string _getNamespaceFromStructurePath(::Core::Path const& path) const;
149
150 MCNAPI ::std::string _handleDupeDisplayName(::std::string_view displayName);
151
152 MCNAPI ::std::string _handleDupeName(::std::string_view name);
153
154 MCNAPI ::std::optional<::Editor::EditorStructureSourceDataItem> const
155 _parseJsonToMetadata(::std::string& jsonString, ::Editor::EditorStructureDBMetadata& metaData);
156
157 MCNAPI void _processBPStructures();
158
160
162
163 MCNAPI bool _writeMetaData(::Core::Path const& path, ::Editor::EditorStructureDBMetadata& metaData) const;
164
165 MCNAPI void buildManifests();
166 // NOLINTEND
167
168public:
169 // static variables
170 // NOLINTBEGIN
171 MCNAPI static ::std::string const& DEFAULT_EDITOR_NAMESPACE();
172
173 MCNAPI static ::std::string const& EDITOR_PROJECT_STRUCTUREDB_FOLDER();
174
175 MCNAPI static ::std::string const& LEVELDB_STRUCTURE_TAG_PREFIX();
176
177 MCNAPI static ::std::string const& STRUCTURE_EXT();
178
179 MCNAPI static ::std::string const& STRUCTURE_FOLDER();
180 // NOLINTEND
181
182public:
183 // constructor thunks
184 // NOLINTBEGIN
186 // NOLINTEND
187
188public:
189 // destructor thunk
190 // NOLINTBEGIN
191 MCNAPI void $dtor();
192 // NOLINTEND
193
194public:
195 // virtual function thunks
196 // NOLINTBEGIN
197 MCNAPI ::Scripting::Result_deprecated<void> $init();
198
199 MCNAPI ::Scripting::Result_deprecated<void> $quit();
200
201 MCNAPI ::Scripting::Result_deprecated<void> $ready();
202
203 MCNAPI ::std::string_view $getServiceName() const;
204
205 MCNAPI ::std::optional<::std::string> $createNewEditorProjectStructure(
206 ::Editor::EditorStructureTemplate const& templateData,
207 ::std::string const& id,
208 ::std::optional<::std::string> const& fullName,
209 ::std::optional<::std::string> const& displayName
210 );
211
213 ::mce::UUID const& guid,
214 ::Editor::EditorStructureTemplate const& structureTemplate,
215 bool isHost
216 );
217
218 MCNAPI ::std::optional<::Editor::EditorStructureTemplate> $load(::mce::UUID const& guid) const;
219
220 MCNAPI ::std::vector<::HashedString> const $getEditorStructureGuids() const;
221
222 MCNAPI ::std::vector<::Editor::EditorStructureDBMetadata> const
224
225 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
227
228 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
230
231 MCNAPI ::std::optional<::Editor::EditorStructureDBMetadata> const
233
235
236 MCNAPI bool $hasStructureData(::mce::UUID const& id) const;
237
238 MCNAPI ::Scripting::Result_deprecated<::std::variant<
239 ::StructureTemplate const*,
241 ::std::shared_ptr<::StructureTemplate const>,
242 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
244 // NOLINTEND
245
246public:
247 // vftables
248 // NOLINTBEGIN
250
251 MCNAPI static void** $vftableForIStructureDataProvider();
252
253 MCNAPI static void** $vftableForIEditorService();
254 // NOLINTEND
255};
256
257} // namespace Editor::Services
Definition Path.h:11
Definition EditorStructureSourceDataItem.h:20
Definition EditorStructureTemplate.h:26
Definition ServiceProviderCollection.h:7
Definition EditorStructureDBManagerServiceProvider.h:18
Definition EditorStructureDBManagerService.h:30
MCAPI ::std::pair<::std::optional<::mce::UUID >, ::std::optional<::std::string > > _addToEditorStructureDB(::Editor::EditorStructureSourceDataItem const &mcStructureData, ::std::optional<::std::string > const &id, ::std::optional<::std::string > const &displayName)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI ::std::optional<::Editor::EditorStructureDBMetadata > const $getEditorStructureMetadataByGuid(::mce::UUID const &guid) const
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI void _addToMetadataEntries(::mce::UUID const &guid, ::Editor::EditorStructureSourceDataItem const &mcStructureData, ::Editor::EditorStructureDBMetadata &metaData)
static MCAPI ::std::string const & EDITOR_PROJECT_STRUCTUREDB_FOLDER()
MCAPI ::std::optional<::std::string > $createNewEditorProjectStructure(::Editor::EditorStructureTemplate const &templateData, ::std::string const &id, ::std::optional<::std::string > const &fullName, ::std::optional<::std::string > const &displayName)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated<::std::variant< ::StructureTemplate const *, ::Editor::EditorStructureTemplate const *, ::std::shared_ptr<::StructureTemplate const >, ::std::shared_ptr<::Editor::EditorStructureTemplate const > > > $getStructureData(::mce::UUID const &id) const
MCAPI bool $replaceMCStructureFromTemplate(::mce::UUID const &guid, ::Editor::EditorStructureTemplate const &structureTemplate, bool isHost)
MCAPI ::std::optional<::Editor::EditorStructureTemplate > $load(::mce::UUID const &guid) const
MCAPI ::std::optional<::mce::UUID > _addToEditorStructureDB(::Editor::EditorStructureDBMetadata &metaData, ::Editor::EditorStructureSourceDataItem &mcStructureData)
MCAPI::std::string _getNamespaceFromStructurePath(::Core::Path const &path) const
static MCAPI ::std::string const & LEVELDB_STRUCTURE_TAG_PREFIX()
static MCAPI ::std::string const & STRUCTURE_EXT()
MCAPI EditorStructureDBManagerService(::Editor::ServiceProviderCollection &providers)
MCAPI::std::string _handleDupeName(::std::string_view name)
static MCAPI ::std::string const & DEFAULT_EDITOR_NAMESPACE()
static MCAPI void ** $vftableForIStructureDataProvider()
MCAPI::std::string const _getJsonStringFromMetadata(::Editor::EditorStructureDBMetadata const &metaData) const
MCAPI::std::string _getNameFromStructurePath(::Core::Path const &path) const
static MCAPI void ** $vftableForEditorStructureDBManagerServiceProvider()
MCAPI ::std::vector<::HashedString > const $getEditorStructureGuids() const
MCAPI bool _writeMetaData(::Core::Path const &path, ::Editor::EditorStructureDBMetadata &metaData) const
MCAPI::Editor::EditorStructureMetadataDeleteEditResult const $editEditorStructureDBMetadata(::Editor::EditorStructureMetadataEditParams const &params, bool isHost)
MCAPI ::std::vector<::Editor::EditorStructureDBMetadata > const $queryEditorStructureDBMetadata(::Editor::EditorStructureMetadataQueryParams const &params) const
static MCAPI ::std::string const & STRUCTURE_FOLDER()
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI::std::string _handleDupeDisplayName(::std::string_view displayName)
MCAPI ::std::optional<::Editor::EditorStructureSourceDataItem > const _parseJsonToMetadata(::std::string &jsonString, ::Editor::EditorStructureDBMetadata &metaData)
MCAPI::Editor::EditorStructureMetadataDeleteEditResult const $deleteEditorStructureDBMetadataByGuid(::mce::UUID const &guid, bool isHost)
MCAPI bool $hasStructureData(::mce::UUID const &id) const
Definition IEditorService.h:11
Definition IStructureDataProvider.h:17
Definition HashedString.h:5
Definition Path.h:16
Definition StructureTemplate.h:33
Definition UUID.h:7
Definition EditorStructureDBMetadata.h:14
Definition EditorStructureMetadataEditParams.h:7
Definition EditorStructureMetadataQueryParams.h:7
Definition Alias.h:14