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/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/string/BasicStackString.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/editor/services/IEditorService.h"
10#include "mc/server/editor/serviceproviders/EditorStructureDBManagerServiceProvider.h"
11#include "mc/server/editor/services/structures/IStructureDataProvider.h"
12
13// auto generated forward declare list
14// clang-format off
15class HashedString;
17namespace Core { class Path; }
18namespace Editor { class EditorStructureSourceDataItem; }
19namespace Editor { class EditorStructureTemplate; }
20namespace Editor { class ServiceProviderCollection; }
21namespace Editor { struct EditorStructureDBMetadata; }
22namespace Editor { struct EditorStructureMetadataDeleteEditResult; }
23namespace Editor { struct EditorStructureMetadataEditParams; }
24namespace Editor { struct EditorStructureMetadataQueryParams; }
25namespace mce { class UUID; }
26// clang-format on
27
28namespace Editor::Services {
29
30class EditorStructureDBManagerService : public ::Editor::Services::IEditorService,
33public:
34 // member variables
35 // NOLINTBEGIN
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 EditorStructureDBManagerService& operator=(EditorStructureDBManagerService const&);
52 EditorStructureDBManagerService(EditorStructureDBManagerService const&);
53 EditorStructureDBManagerService();
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual ~EditorStructureDBManagerService() /*override*/;
59
60 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
61
62 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
63
64 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
65
66 virtual ::std::string_view getServiceName() const /*override*/;
67
68 virtual ::std::optional<::std::string> createNewEditorProjectStructure(
69 ::Editor::EditorStructureTemplate const& templateData,
70 ::std::string const& id,
71 ::std::optional<::std::string> const& fullName,
72 ::std::optional<::std::string> const& displayName
73 ) /*override*/;
74
75 virtual bool replaceMCStructureFromTemplate(
76 ::mce::UUID const& guid,
77 ::Editor::EditorStructureTemplate const& structureTemplate,
78 bool isHost
79 ) /*override*/;
80
81 virtual ::std::optional<::Editor::EditorStructureTemplate> load(::mce::UUID const& guid) const /*override*/;
82
83 virtual ::std::vector<::HashedString> const getEditorStructureGuids() const /*override*/;
84
85 virtual ::std::vector<::Editor::EditorStructureDBMetadata> const
86 queryEditorStructureDBMetadata(::Editor::EditorStructureMetadataQueryParams const& params) const /*override*/;
87
88 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
89 deleteEditorStructureDBMetadataByGuid(::mce::UUID const& guid, bool isHost) /*override*/;
90
91 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
92 editEditorStructureDBMetadata(::Editor::EditorStructureMetadataEditParams const& params, bool isHost) /*override*/;
93
94 virtual ::std::optional<::Editor::EditorStructureDBMetadata> const
95 getEditorStructureMetadataByGuid(::mce::UUID const& guid) const /*override*/;
96
97 virtual void processLevelStructures() /*override*/;
98
99 virtual bool hasStructureData(::mce::UUID const& id) const /*override*/;
100
101 virtual ::Scripting::Result_deprecated<::std::variant<
102 ::StructureTemplate const*,
104 ::std::shared_ptr<::StructureTemplate const>,
105 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
106 getStructureData(::mce::UUID const& id) const /*override*/;
107 // NOLINTEND
108
109public:
110 // member functions
111 // NOLINTBEGIN
113
114 MCNAPI ::std::optional<::mce::UUID> _addToEditorStructureDB(
117 );
118
119 MCNAPI ::std::pair<::std::optional<::mce::UUID>, ::std::optional<::std::string>> _addToEditorStructureDB(
120 ::Editor::EditorStructureSourceDataItem const& mcStructureData,
121 ::std::optional<::std::string> const& id,
122 ::std::optional<::std::string> const& displayName
123 );
124
126 ::mce::UUID const& guid,
127 ::Editor::EditorStructureSourceDataItem const& mcStructureData,
129 );
130
131 MCNAPI void
133
134 MCNAPI ::std::string const _getJsonStringFromMetadata(::Editor::EditorStructureDBMetadata const& metaData) const;
135
136 MCNAPI ::std::string _getNameFromStructurePath(::Core::Path const& path) const;
137
138 MCNAPI ::std::string _getNamespaceFromStructurePath(::Core::Path const& path) const;
139
140 MCNAPI ::std::string _handleDupeDisplayName(::std::string_view displayName);
141
142 MCNAPI ::std::string _handleDupeName(::std::string_view name);
143
144 MCNAPI ::std::optional<::Editor::EditorStructureSourceDataItem> const
145 _parseJsonToMetadata(::std::string& jsonString, ::Editor::EditorStructureDBMetadata& metaData);
146
147 MCNAPI void _processBPStructures();
148
150
152
154
155 MCNAPI bool _writeMetaData(::Core::Path const& path, ::Editor::EditorStructureDBMetadata& metaData) const;
156
157 MCNAPI void buildManifests();
158 // NOLINTEND
159
160public:
161 // static variables
162 // NOLINTBEGIN
163 MCNAPI static ::std::string const& DEFAULT_EDITOR_NAMESPACE();
164
165 MCNAPI static ::std::string const& EDITOR_PROJECT_STRUCTUREDB_FOLDER();
166
167 MCNAPI static ::std::string const& LEVELDB_STRUCTURE_TAG_PREFIX();
168
169 MCNAPI static ::std::string const& STRUCTURE_EXT();
170
171 MCNAPI static ::std::string const& STRUCTURE_FOLDER();
172 // NOLINTEND
173
174public:
175 // constructor thunks
176 // NOLINTBEGIN
178 // NOLINTEND
179
180public:
181 // destructor thunk
182 // NOLINTBEGIN
183 MCNAPI void $dtor();
184 // NOLINTEND
185
186public:
187 // virtual function thunks
188 // NOLINTBEGIN
189 MCNAPI ::Scripting::Result_deprecated<void> $init();
190
191 MCNAPI ::Scripting::Result_deprecated<void> $quit();
192
193 MCNAPI ::Scripting::Result_deprecated<void> $ready();
194
195 MCNAPI ::std::string_view $getServiceName() const;
196
197 MCNAPI ::std::optional<::std::string> $createNewEditorProjectStructure(
198 ::Editor::EditorStructureTemplate const& templateData,
199 ::std::string const& id,
200 ::std::optional<::std::string> const& fullName,
201 ::std::optional<::std::string> const& displayName
202 );
203
205 ::mce::UUID const& guid,
206 ::Editor::EditorStructureTemplate const& structureTemplate,
207 bool isHost
208 );
209
210 MCNAPI ::std::optional<::Editor::EditorStructureTemplate> $load(::mce::UUID const& guid) const;
211
212 MCNAPI ::std::vector<::HashedString> const $getEditorStructureGuids() const;
213
214 MCNAPI ::std::vector<::Editor::EditorStructureDBMetadata> const
216
217 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
219
220 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
222
223 MCNAPI ::std::optional<::Editor::EditorStructureDBMetadata> const
225
227
228 MCNAPI bool $hasStructureData(::mce::UUID const& id) const;
229
230 MCNAPI ::Scripting::Result_deprecated<::std::variant<
231 ::StructureTemplate const*,
233 ::std::shared_ptr<::StructureTemplate const>,
234 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
236
237
238 // NOLINTEND
239
240public:
241 // vftables
242 // NOLINTBEGIN
244
245 MCNAPI static void** $vftableForIStructureDataProvider();
246
247 MCNAPI static void** $vftableForIEditorService();
248 // NOLINTEND
249};
250
251} // namespace Editor::Services
Definition BasicStackString.h:8
Definition PathBuffer.h:8
Definition Path.h:10
Definition EditorStructureSourceDataItem.h:20
Definition EditorStructureTemplate.h:27
Definition ServiceProviderCollection.h:7
Definition EditorStructureDBManagerServiceProvider.h:18
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 void _exportFlaggedStructuresToTarget(::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > const &targetRoot)
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 StructureTemplate.h:35
Definition UUID.h:7
Definition EditorStructureDBMetadata.h:15
Definition EditorStructureMetadataDeleteEditResult.h:12
Definition EditorStructureMetadataEditParams.h:12
Definition EditorStructureMetadataQueryParams.h:7
Definition Alias.h:14