Skip to content
LeviMC
English
AutoLightDark
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 bool canAccessStructureData(::mce::UUID const& id, ::mce::UUID const& clientId) 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 ::std::string _getNamespaceFromStructurePath(::Core::Path const& path) const;
132
133 MCNAPI ::std::optional<::Editor::EditorStructureSourceDataItem> const
134 _parseJsonToMetadata(::std::string& jsonString, ::Editor::EditorStructureDBMetadata& metaData);
135
136 MCNAPI bool _writeMetaData(::Core::Path const& path, ::Editor::EditorStructureDBMetadata& metaData) const;
137 // NOLINTEND
138
139public:
140 // static variables
141 // NOLINTBEGIN
142 MCNAPI static ::std::string const& EDITOR_PROJECT_STRUCTUREDB_FOLDER();
143
144 MCNAPI static ::std::string const& LEVELDB_STRUCTURE_TAG_PREFIX();
145
146 MCNAPI static ::std::string const& STRUCTURE_EXT();
147
148 MCNAPI static ::std::string const& STRUCTURE_FOLDER();
149 // NOLINTEND
150
151public:
152 // constructor thunks
153 // NOLINTBEGIN
155 // NOLINTEND
156
157public:
158 // virtual function thunks
159 // NOLINTBEGIN
160 MCNAPI ::Scripting::Result_deprecated<void> $init();
161
162 MCNAPI ::Scripting::Result_deprecated<void> $quit();
163
164 MCNAPI ::Scripting::Result_deprecated<void> $ready();
165
166 MCNAPI ::std::string_view $getServiceName() const;
167
168 MCNAPI ::std::optional<::std::string> $createNewEditorProjectStructure(
169 ::Editor::EditorStructureTemplate const& templateData,
170 ::std::string const& id,
171 ::std::optional<::std::string> const& fullName,
172 ::std::optional<::std::string> const& displayName
173 );
174
176 ::mce::UUID const& guid,
177 ::Editor::EditorStructureTemplate const& structureTemplate,
178 bool isHost
179 );
180
181 MCNAPI ::std::optional<::Editor::EditorStructureTemplate> $load(::mce::UUID const& guid) const;
182
183 MCNAPI ::std::vector<::HashedString> const $getEditorStructureGuids() const;
184
185 MCNAPI ::std::vector<::Editor::EditorStructureDBMetadata> const
187
188 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
190
191 MCNAPI ::Editor::EditorStructureMetadataDeleteEditResult const
193
194 MCNAPI ::std::optional<::Editor::EditorStructureDBMetadata> const
196
198
199 MCNAPI bool $hasStructureData(::mce::UUID const& id) const;
200
201 MCNAPI bool $canAccessStructureData(::mce::UUID const& id, ::mce::UUID const& clientId) const;
202
203 MCNAPI ::Scripting::Result_deprecated<::std::variant<
204 ::StructureTemplate const*,
206 ::std::shared_ptr<::StructureTemplate const>,
207 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
209
210
211 // NOLINTEND
212};
213
214} // namespace Editor::Services
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 bool $canAccessStructureData(::mce::UUID const &id, ::mce::UUID const &clientId) const
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:35
Definition UUID.h:8
Definition EditorStructureDBMetadata.h:13
Definition EditorStructureMetadataDeleteEditResult.h:12
Definition EditorStructureMetadataEditParams.h:12
Definition EditorStructureMetadataQueryParams.h:12
Definition Alias.h:14