LeviLamina
Loading...
Searching...
No Matches
ServerStructureServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Editor { class EditorStructureTemplate; }
11namespace Editor { struct EditorStructureDBMetadata; }
12namespace Editor { struct EditorStructureMetadataDeleteEditResult; }
13namespace Editor { struct EditorStructureMetadataEditParams; }
14namespace Editor { struct EditorStructureMetadataQueryParams; }
15namespace mce { class UUID; }
16// clang-format on
17
18namespace Editor::Services {
19
21public:
22 // virtual functions
23 // NOLINTBEGIN
24 virtual ~ServerStructureServiceProvider() /*override*/;
25
26 virtual ::std::optional<::Editor::EditorStructureTemplate> loadStructure(::std::string const& id) = 0;
27
28 virtual ::std::optional<::std::string> createNewEditorProjectStructure(
29 ::Editor::EditorStructureTemplate const& editorStructure,
30 ::mce::UUID const& guid,
31 ::std::string const& structureName
32 ) = 0;
33
34 virtual ::std::vector<::Editor::EditorStructureDBMetadata>
35 queryDB(::Editor::EditorStructureMetadataQueryParams const& params, bool const reprocessLevelStructures) = 0;
36
37 virtual ::Editor::EditorStructureMetadataDeleteEditResult const
38 editStructureMetadata(::Editor::EditorStructureMetadataEditParams& params) = 0;
39
40 virtual bool replaceMCStructureFromTemplate(
41 ::mce::UUID const& guid,
42 ::Editor::EditorStructureTemplate const& structureTemplate
43 ) = 0;
44
45 virtual ::std::optional<::Editor::EditorStructureTemplate> load(::mce::UUID const& guid) = 0;
46
47 virtual ::std::optional<::Editor::EditorStructureDBMetadata> const getMetadataByGuid(::mce::UUID const& guid) = 0;
48
49 virtual ::Editor::EditorStructureMetadataDeleteEditResult const deleteEditorStructure(::mce::UUID const& guid) = 0;
50 // NOLINTEND
51
52public:
53 // destructor thunk
54 // NOLINTBEGIN
55 MCNAPI void $dtor();
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
61
62 // NOLINTEND
63
64public:
65 // vftables
66 // NOLINTBEGIN
67 MCNAPI static void** $vftable();
68 // NOLINTEND
69};
70
71} // namespace Editor::Services
Definition EnableNonOwnerReferences.h:7
Definition EditorStructureTemplate.h:27
Definition ServerStructureServiceProvider.h:20
Definition UUID.h:7
Definition EditorStructureDBMetadata.h:15
Definition EditorStructureMetadataDeleteEditResult.h:7
Definition EditorStructureMetadataEditParams.h:12
Definition EditorStructureMetadataQueryParams.h:7