LeviLamina
Loading...
Searching...
No Matches
StructureDataCacheService.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/editor/services/PayloadStoreHelper.h"
9#include "mc/server/editor/serviceproviders/StructureDataCacheServiceProvider.h"
10
11// auto generated forward declare list
12// clang-format off
14namespace Editor { class EditorStructureTemplate; }
15namespace Editor { class ServiceProviderCollection; }
16namespace Editor::Network { class StructureDataCacheReleaseStructurePayload; }
17namespace Editor::Network { class StructureDataCacheRequestStructurePayload; }
18namespace Editor::StructureDataCache { class IStructureDataProvider; }
19namespace mce { class UUID; }
20// clang-format on
21
22namespace Editor::Services {
23
24class StructureDataCacheService : public ::Editor::Services::IEditorService,
27public:
28 // member variables
29 // NOLINTBEGIN
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 StructureDataCacheService& operator=(StructureDataCacheService const&);
37 StructureDataCacheService(StructureDataCacheService const&);
38 StructureDataCacheService();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~StructureDataCacheService() /*override*/ = default;
44
45 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
46
47 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
48
49 virtual ::std::string_view getServiceName() const /*override*/;
50
51 virtual void registerStructureDataProvider(
52 ::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef
53 ) /*override*/;
54
55 virtual void unregisterStructureDataProvider(
56 ::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef
57 ) /*override*/;
58
59 virtual void informStructureDataRemoved(::mce::UUID const& id) /*override*/;
60
61 virtual void informStructureDataUpdated(
62 ::mce::UUID const& id,
63 ::std::variant<
66 ::std::shared_ptr<::StructureTemplate const>,
67 ::std::shared_ptr<::Editor::EditorStructureTemplate const>> const& data
68 ) /*override*/;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
75
78 );
79
82 );
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCNAPI ::Scripting::Result_deprecated<void> $init();
95
96 MCNAPI ::Scripting::Result_deprecated<void> $quit();
97
98 MCNAPI ::std::string_view $getServiceName() const;
99
100 MCNAPI void
101 $registerStructureDataProvider(::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef);
102
103 MCNAPI void
104 $unregisterStructureDataProvider(::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef);
105
107
109 ::mce::UUID const& id,
110 ::std::variant<
111 ::StructureTemplate const*,
113 ::std::shared_ptr<::StructureTemplate const>,
114 ::std::shared_ptr<::Editor::EditorStructureTemplate const>> const& data
115 );
116
117
118 // NOLINTEND
119
120public:
121 // vftables
122 // NOLINTBEGIN
124
125 MCNAPI static void** $vftableForIEditorService();
126 // NOLINTEND
127};
128
129} // namespace Editor::Services
Definition EditorStructureTemplate.h:27
Definition StructureDataCacheReleaseStructurePayload.h:16
Definition StructureDataCacheRequestStructurePayload.h:16
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition StructureDataCacheServiceProvider.h:15
MCAPI StructureDataCacheService(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI void _handleStructureDataCacheReleaseStructurePayload(::Editor::Network::StructureDataCacheReleaseStructurePayload const &payload)
MCAPI::std::string_view $getServiceName() const
MCAPI void $informStructureDataRemoved(::mce::UUID const &id)
MCAPI void $registerStructureDataProvider(::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider > providerRef)
static MCAPI void ** $vftableForIEditorService()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI void $unregisterStructureDataProvider(::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider > providerRef)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void $informStructureDataUpdated(::mce::UUID const &id, ::std::variant< ::StructureTemplate const *, ::Editor::EditorStructureTemplate const *, ::std::shared_ptr<::StructureTemplate const >, ::std::shared_ptr<::Editor::EditorStructureTemplate const > > const &data)
MCAPI void _handleStructureDataCacheRequestStructurePayload(::Editor::Network::StructureDataCacheRequestStructurePayload const &payload)
static MCAPI void ** $vftableForStructureDataCacheServiceProvider()
Definition IStructureDataProvider.h:17
Definition StructureTemplate.h:34
Definition UUID.h:8
Definition Alias.h:14