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/script_core/runtime/scripting/Result_deprecated.h"
7#include "mc/editor/services/IEditorService.h"
8#include "mc/server/editor/serviceproviders/EditorStructureDBManagerServiceProvider.h"
9#include "mc/server/editor/services/structures/IStructureDataProvider.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
28class EditorStructureDBManagerService : public ::Editor::Services::IEditorService,
31public:
32 // member variables
33 // NOLINTBEGIN
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 EditorStructureDBManagerService& operator=(EditorStructureDBManagerService const&);
50 EditorStructureDBManagerService(EditorStructureDBManagerService const&);
51 EditorStructureDBManagerService();
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ~EditorStructureDBManagerService() /*override*/ = default;
57
58 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
59
60 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
61
62 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
63
64 virtual ::std::string_view getServiceName() const /*override*/;
65
66 virtual ::std::optional<::std::string> createNewEditorProjectStructure(
67 ::Editor::EditorStructureTemplate const& templateData,
68 ::std::string const& id,
69 ::std::optional<::std::string> const& fullName,
70 ::std::optional<::std::string> const& displayName
71 ) /*override*/;
72
73 virtual bool replaceMCStructureFromTemplate(
74 ::mce::UUID const& guid,
75 ::Editor::EditorStructureTemplate const& structureTemplate,
76 bool isHost
77 ) /*override*/;
78
79 virtual ::std::optional<::Editor::EditorStructureTemplate> load(::mce::UUID const& guid) const /*override*/;
80
81 virtual ::std::vector<::HashedString> const getEditorStructureGuids() const /*override*/;
82
83 virtual ::std::vector<::Editor::EditorStructureDBMetadata> const
84 queryEditorStructureDBMetadata(::Editor::EditorStructureMetadataQueryParams const& params) const /*override*/;
85
86 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
87 deleteEditorStructureDBMetadataByGuid(::mce::UUID const& guid, bool isHost) /*override*/;
88
89 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
90 editEditorStructureDBMetadata(::Editor::EditorStructureMetadataEditParams const& params, bool isHost) /*override*/;
91
92 virtual ::std::optional<::Editor::EditorStructureDBMetadata> const
93 getEditorStructureMetadataByGuid(::mce::UUID const& guid) const /*override*/;
94
95 virtual void processLevelStructures() /*override*/;
96
97 virtual bool hasStructureData(::mce::UUID const& id) const /*override*/;
98
99 virtual ::Scripting::Result_deprecated<::std::variant<
100 ::StructureTemplate const*,
102 ::std::shared_ptr<::StructureTemplate const>,
103 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
104 getStructureData(::mce::UUID const& id) const /*override*/;
105 // NOLINTEND
106
107public:
108 // member functions
109 // NOLINTBEGIN
111
112 MCNAPI ::std::optional<::mce::UUID> _addToEditorStructureDB(
115 );
116
117 MCNAPI ::std::pair<::std::optional<::mce::UUID>, ::std::optional<::std::string>> _addToEditorStructureDB(
118 ::Editor::EditorStructureSourceDataItem const& mcStructureData,
119 ::std::optional<::std::string> const& id,
120 ::std::optional<::std::string> const& displayName
121 );
122
124 ::mce::UUID const& guid,
125 ::Editor::EditorStructureSourceDataItem const& mcStructureData,
127 );
128
129 MCNAPI ::std::string _getNamespaceFromStructurePath(::Core::Path const& path) const;
130
131 MCNAPI ::std::optional<::Editor::EditorStructureSourceDataItem> const
132 _parseJsonToMetadata(::std::string& jsonString, ::Editor::EditorStructureDBMetadata& metaData);
133
134 MCNAPI bool _writeMetaData(::Core::Path const& path, ::Editor::EditorStructureDBMetadata& metaData) const;
135 // NOLINTEND
136
137public:
138 // static variables
139 // NOLINTBEGIN
140 MCNAPI static ::std::string const& EDITOR_PROJECT_STRUCTUREDB_FOLDER();
141
142 MCNAPI static ::std::string const& LEVELDB_STRUCTURE_TAG_PREFIX();
143
144 MCNAPI static ::std::string const& STRUCTURE_EXT();
145
146 MCNAPI static ::std::string const& STRUCTURE_FOLDER();
147 // NOLINTEND
148
149public:
150 // constructor thunks
151 // NOLINTBEGIN
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 ::std::optional<::std::string> $createNewEditorProjectStructure(
167 ::Editor::EditorStructureTemplate const& templateData,
168 ::std::string const& id,
169 ::std::optional<::std::string> const& fullName,
170 ::std::optional<::std::string> const& displayName
171 );
172
174 ::mce::UUID const& guid,
175 ::Editor::EditorStructureTemplate const& structureTemplate,
176 bool isHost
177 );
178
179 MCNAPI ::std::optional<::Editor::EditorStructureTemplate> $load(::mce::UUID const& guid) const;
180
181 MCNAPI ::std::vector<::HashedString> const $getEditorStructureGuids() const;
182
183 MCNAPI ::std::vector<::Editor::EditorStructureDBMetadata> const
185
186 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
188
189 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
191
192 MCNAPI ::std::optional<::Editor::EditorStructureDBMetadata> const
194
196
197 MCNAPI bool $hasStructureData(::mce::UUID const& id) const;
198
199 MCNAPI ::Scripting::Result_deprecated<::std::variant<
200 ::StructureTemplate const*,
202 ::std::shared_ptr<::StructureTemplate const>,
203 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
205
206
207 // NOLINTEND
208};
209
210} // namespace Editor::Services
Definition Path.h:11
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 ::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::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::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:34
Definition UUID.h:8
Definition EditorStructureDBMetadata.h:13
Definition EditorStructureMetadataDeleteEditResult.h:12
Definition EditorStructureMetadataEditParams.h:12
Definition EditorStructureMetadataQueryParams.h:12
Definition Alias.h:14