LeviLamina
Loading...
Searching...
No Matches
WorldTemplateManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/resources/interface/IWorldTemplateManager.h"
8
9// auto generated forward declare list
10// clang-format off
12class Pack;
14struct PackIdVersion;
17namespace Bedrock::PubSub { class Subscription; }
18namespace Core { class Path; }
19namespace mce { class UUID; }
20// clang-format on
21
22class WorldTemplateManager : public ::IWorldTemplateManager {
23public:
24 // member variables
25 // NOLINTBEGIN
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 WorldTemplateManager& operator=(WorldTemplateManager const&);
40 WorldTemplateManager(WorldTemplateManager const&);
41 WorldTemplateManager();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46#ifdef LL_PLAT_S
47 virtual ~WorldTemplateManager() /*override*/;
48#else // LL_PLAT_C
49 virtual ~WorldTemplateManager() /*override*/ = default;
50#endif
51
52 virtual void flushResourceLoaderTasks() /*override*/;
53
54 virtual void populateWorldTemplates() /*override*/;
55
56 virtual uint64 getWorldTemplateSize() const /*override*/;
57
58 virtual ::WorldTemplateInfo const& getWorldTemplateAtIndex(int index) const /*override*/;
59
60 virtual ::std::vector<::std::unique_ptr<::WorldTemplateInfo const>> const& getLocalTemplates() const /*override*/;
61
62 virtual ::WorldTemplateInfo const*
63 findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const /*override*/;
64
65 virtual ::WorldTemplateInfo const* findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const
66 /*override*/;
67
68 virtual void forEachWorldTemplate(::std::function<void(::WorldTemplateInfo const&)> const& callback) const
69 /*override*/;
70
71 virtual void deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity) /*override*/;
72
73 virtual bool isInitialized() const /*override*/;
74
75 virtual ::Bedrock::PubSub::Subscription registerModifiedCallback(
76 ::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction
77 ) /*override*/;
78
79 virtual ::WorldTemplateCollectionView createView(::mce::UUID const& toView) const /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCNAPI WorldTemplateManager(::std::unique_ptr<::IWorldTemplateManagerInitializer> initializer, bool initAsync);
86
88 ::PackIdVersion const& packIdentity,
89 ::std::function<bool(::Core::Path const&)> deleteWorldCallback
90 );
91
93
94#ifdef LL_PLAT_C
95 MCNAPI void addKnownPackFromImport(::Pack const& pack);
96
97 MCNAPI void deleteWorldTemplate(::PackIdVersion const& packIdentity);
98
99 MCNAPI ::WorldTemplateInfo const* findWorldTemplateAtIndex(int index);
100
101 MCNAPI ::std::vector<::PackIdVersion> const& getLocalPremiumPackIds() const;
102
103 MCNAPI ::Core::PathBuffer<::std::string> getWorldTemplatesPath() const;
104
105 MCNAPI bool isWorldTemplateInstalled(::mce::UUID const& uuid) const;
106
107 MCNAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack const>>>
108 loadPacksForTemplate(::WorldTemplateInfo const& info);
109
110 MCNAPI void onStorageDirectoryChanged();
111
112 MCNAPI void setSortMethod(
113 ::std::function<bool(
114 ::std::unique_ptr<::WorldTemplateInfo const> const&,
115 ::std::unique_ptr<::WorldTemplateInfo const> const&
116 )> sort
117 );
118
119 MCNAPI void setWorldIconAllowListPath(::WorldTemplateInfo const& info, ::std::string path);
120#endif
121
122 MCNAPI void sortWorldTemplates();
123
124#ifdef LL_PLAT_C
125 MCNAPI void update();
126#endif
127 // NOLINTEND
128
129public:
130 // constructor thunks
131 // NOLINTBEGIN
132 MCNAPI void* $ctor(::std::unique_ptr<::IWorldTemplateManagerInitializer> initializer, bool initAsync);
133 // NOLINTEND
134
135public:
136 // destructor thunk
137 // NOLINTBEGIN
138 MCNAPI void $dtor();
139 // NOLINTEND
140
141public:
142 // virtual function thunks
143 // NOLINTBEGIN
145
147
148 MCNAPI uint64 $getWorldTemplateSize() const;
149
150 MCNAPI ::WorldTemplateInfo const& $getWorldTemplateAtIndex(int index) const;
151
152 MCNAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo const>> const& $getLocalTemplates() const;
153
154 MCNAPI ::WorldTemplateInfo const*
155 $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const;
156
157 MCNAPI ::WorldTemplateInfo const* $findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const;
158
159 MCNAPI void $forEachWorldTemplate(::std::function<void(::WorldTemplateInfo const&)> const& callback) const;
160
161 MCNAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity);
162
163 MCNAPI bool $isInitialized() const;
164
165 MCNAPI ::Bedrock::PubSub::Subscription
166 $registerModifiedCallback(::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction);
167
168 MCNAPI ::WorldTemplateCollectionView $createView(::mce::UUID const& toView) const;
169
170
171 // NOLINTEND
172
173public:
174 // vftables
175 // NOLINTBEGIN
176 MCNAPI static void** $vftable();
177 // NOLINTEND
178};
Definition Subscription.h:10
Definition Path.h:12
Definition IWorldTemplateManagerInitializer.h:11
Definition IWorldTemplateManager.h:17
Definition Pack.h:28
Definition WorldTemplateCollectionView.h:14
static MCAPI void ** $vftable()
MCAPI::WorldTemplateInfo const & $getWorldTemplateAtIndex(int index) const
MCAPI WorldTemplateManager(::std::unique_ptr<::IWorldTemplateManagerInitializer > initializer, bool initAsync)
MCAPI void * $ctor(::std::unique_ptr<::IWorldTemplateManagerInitializer > initializer, bool initAsync)
MCAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const &packIdentity)
MCAPI void $populateWorldTemplates()
MCAPI void _deleteWorldTemplate(::PackIdVersion const &packIdentity, ::std::function< bool(::Core::Path const &)> deleteWorldCallback)
MCAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo const > > const & $getLocalTemplates() const
MCAPI bool $isInitialized() const
MCAPI void _initialize(::WorldTemplateManagerInitData &&data)
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplate(::PackIdVersion const &packIdentityToFind) const
MCAPI void sortWorldTemplates()
MCAPI::Bedrock::PubSub::Subscription $registerModifiedCallback(::std::function< void(::std::pair<::std::string, bool > const &)> newCallbackFunction)
MCAPI::WorldTemplateCollectionView $createView(::mce::UUID const &toView) const
MCAPI void $forEachWorldTemplate(::std::function< void(::WorldTemplateInfo const &)> const &callback) const
MCAPI void $dtor()
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID > const &packUUIDs) const
MCAPI void $flushResourceLoaderTasks()
MCAPI uint64 $getWorldTemplateSize() const
Definition UUID.h:7
Definition PackIdVersion.h:10
Definition WorldTemplateInfo.h:16
Definition WorldTemplateManagerInitData.h:14
Definition Alias.h:14