Skip to content
LeviMC
English
AutoLightDark
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::Network { struct PayloadSenderContext; }
19namespace Editor::StructureDataCache { class IStructureDataProvider; }
20namespace mce { class UUID; }
21// clang-format on
22
23namespace Editor::Services {
24
25class StructureDataCacheService : public ::Editor::Services::IEditorService,
28public:
29 // member variables
30 // NOLINTBEGIN
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 StructureDataCacheService& operator=(StructureDataCacheService const&);
38 StructureDataCacheService(StructureDataCacheService const&);
39 StructureDataCacheService();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~StructureDataCacheService() /*override*/ = default;
45
46 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
47
48 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
49
50 virtual ::std::string_view getServiceName() const /*override*/;
51
52 virtual void registerStructureDataProvider(
53 ::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef
54 ) /*override*/;
55
56 virtual void unregisterStructureDataProvider(
57 ::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef
58 ) /*override*/;
59
60 virtual void informStructureDataRemoved(::mce::UUID const& id) /*override*/;
61
62 virtual void informStructureDataUpdated(
63 ::mce::UUID const& id,
64 ::std::variant<
67 ::std::shared_ptr<::StructureTemplate const>,
68 ::std::shared_ptr<::Editor::EditorStructureTemplate const>> const& data
69 ) /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
76
80 );
81
85 );
86
87 MCNAPI void _recordClientOwnership(::mce::UUID const& structureId, ::mce::UUID const& clientId);
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCNAPI ::Scripting::Result_deprecated<void> $init();
100
101 MCNAPI ::Scripting::Result_deprecated<void> $quit();
102
103 MCNAPI ::std::string_view $getServiceName() const;
104
105 MCNAPI void
106 $registerStructureDataProvider(::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef);
107
108 MCNAPI void
109 $unregisterStructureDataProvider(::std::weak_ptr<::Editor::StructureDataCache::IStructureDataProvider> providerRef);
110
112
114 ::mce::UUID const& id,
115 ::std::variant<
116 ::StructureTemplate const*,
118 ::std::shared_ptr<::StructureTemplate const>,
119 ::std::shared_ptr<::Editor::EditorStructureTemplate const>> const& data
120 );
121
122
123 // NOLINTEND
124
125public:
126 // vftables
127 // NOLINTBEGIN
129
130 MCNAPI static void** $vftableForIEditorService();
131 // NOLINTEND
132};
133
134} // namespace Editor::Services
Definition EditorStructureTemplate.h:27
Definition StructureDataCacheReleaseStructurePayload.h:11
Definition StructureDataCacheRequestStructurePayload.h:11
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition StructureDataCacheServiceProvider.h:15
MCAPI void _handleStructureDataCacheReleaseStructurePayload(::Editor::Network::StructureDataCacheReleaseStructurePayload const &payload, ::Editor::Network::PayloadSenderContext const &sender)
MCAPI StructureDataCacheService(::Editor::ServiceProviderCollection &providers)
MCAPI void _recordClientOwnership(::mce::UUID const &structureId, ::mce::UUID const &clientId)
MCAPI ::Scripting::Result_deprecated< void > $quit()
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, ::Editor::Network::PayloadSenderContext const &sender)
static MCAPI void ** $vftableForStructureDataCacheServiceProvider()
Definition IStructureDataProvider.h:17
Definition StructureTemplate.h:35
Definition UUID.h:8
Definition PayloadSenderContext.h:7
Definition Alias.h:14