LeviLamina
Loading...
Searching...
No Matches
ContentManagerFactoryImpl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/models/ContentFlags.h"
7#include "mc/client/gui/screens/models/ContentManagerFactoryArgs.h"
8#include "mc/client/gui/screens/models/ContentType.h"
9#include "mc/client/gui/screens/models/IContentManagerFactory.h"
10#include "mc/client/gui/screens/models/IPackManagerContentQueries.h"
11#include "mc/client/resources/ContentCatalogPackSource.h"
12#include "mc/deps/core/file/PathBuffer.h"
13#include "mc/deps/core/resource/PackOrigin.h"
14#include "mc/deps/core/resource/PackType.h"
15#include "mc/deps/core/utility/NonOwnerPointer.h"
16
17// auto generated forward declare list
18// clang-format off
19class AppPlatform;
22class ContentTierInfo;
24class Pack;
25class PackSource;
26class StoreCatalogRepository;
27struct ContentSource;
35namespace ContentManagerUtils { class ISourcesAsyncReloader; }
36namespace Core { class Path; }
37namespace Realms { class RealmsServicePackSource; }
38namespace Realms { struct Content; }
39namespace Realms { struct RealmId; }
40namespace mce { class UUID; }
41// clang-format on
42
44public:
45 // ContentManagerFactoryImpl inner types declare
46 // clang-format off
48 // clang-format on
49
50 // ContentManagerFactoryImpl inner types define
51 class PackManagerContentQueriesImpl : public ::IPackManagerContentQueries {
52 public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::StoreCatalogRepository>> mStoreCatalog;
56 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const>> mContentTierManager;
57 // NOLINTEND
58
59 public:
60 // prevent constructor by default
61 PackManagerContentQueriesImpl();
62
63 public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual ::ContentTierInfo getContentTierInfo() const /*override*/;
67
68 virtual ::std::string const*
69 getStoreCatalogItemAvailableDateByPackIdentityAndType(::mce::UUID const& uuid) const /*override*/;
70 // NOLINTEND
71
72 public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI PackManagerContentQueriesImpl(
76 ::Bedrock::NonOwnerPointer<::StoreCatalogRepository> storeCatalog,
77 ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const> contentTierManager
78 );
79 // NOLINTEND
80
81 public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(
85 ::Bedrock::NonOwnerPointer<::StoreCatalogRepository> storeCatalog,
86 ::Bedrock::NotNullNonOwnerPtr<::IContentTierManager const> contentTierManager
87 );
88 // NOLINTEND
89
90 public:
91 // virtual function thunks
92 // NOLINTBEGIN
93 MCAPI ::ContentTierInfo $getContentTierInfo() const;
94
95 MCAPI ::std::string const*
96 $getStoreCatalogItemAvailableDateByPackIdentityAndType(::mce::UUID const& uuid) const;
97 // NOLINTEND
98
99 public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104 };
105
106public:
107 // member variables
108 // NOLINTBEGIN
109 ::ll::TypedStorage<8, 184, ::ContentManagerFactoryArgs> mArgs;
110 // NOLINTEND
111
112public:
113 // prevent constructor by default
114 ContentManagerFactoryImpl();
115
116public:
117 // virtual functions
118 // NOLINTBEGIN
119 virtual ::std::unique_ptr<::WorldContentSource> createWorldContentSource() const /*override*/;
120
121 virtual ::std::unique_ptr<::WorldTemplateSource> createWorldTemplateSource() const /*override*/;
122
123 virtual ::std::unique_ptr<::InvalidResourceSource>
124 createInvalidResourceSource(::InvalidPacksFilterGroup const& filter) const /*override*/;
125
126 virtual ::std::unique_ptr<::ContentSource> createWorldPackManagerContentSource(
127 ::std::string const& worldID,
128 ::Core::PathBuffer<::std::string> worldPath,
129 ::ContentFlags flags,
130 ::std::vector<::PackManagerContentSourceData>&& data,
131 ::std::weak_ptr<::CachedHostPackIdProvider> provider
132 ) const /*override*/;
133
134 virtual ::std::unique_ptr<::ContentSource> createRealmPackManagerContentSource(
135 int64 realmID,
136 ::ContentFlags flags,
137 ::std::vector<::PackManagerContentSourceData>&& data
138 ) const /*override*/;
139
140 virtual ::std::unique_ptr<::ContentSource> createRealmsWorldPackManagerContentSource(
141 ::Realms::RealmId realmId,
142 ::std::vector<::Realms::Content>&& serviceAppliedContent,
143 ::ContentFlags flags,
144 ::std::vector<::PackManagerContentSourceData>&& data
145 ) const /*override*/;
146
147 virtual ::std::unique_ptr<::ContentSource> createPackManagerContentSource(
148 ::ContentType type,
149 ::ContentFlags flags,
150 ::std::vector<::PackManagerContentSourceData>&& data
151 ) const /*override*/;
152
153 virtual ::std::unique_ptr<::CompositePackSource>
154 createCompositePackSource(::std::vector<::PackSource*> sources) const /*override*/;
155
156 virtual ::PackSource* getInPackagePackSource(::PackType type) const /*override*/;
157
158 virtual ::PackSource* getDirectoryPackSource(::Core::Path const& path, ::PackType type) const /*override*/;
159
160 virtual ::PackSource&
161 createDirectoryPackSource(::Core::Path const& path, ::PackType type, ::PackOrigin origin) const /*override*/;
162
163 virtual ::PackSource&
164 createWorldTemplatePackSource(::mce::UUID const& id, ::PackType type, ::PackOrigin origin) const /*override*/;
165
166 virtual ::ContentCatalogPackSource& createContentCatalogPackSource(
167 ::std::weak_ptr<::ContentManagerUtils::ISourcesAsyncReloader>&& weakSourcesAsyncReloader,
168 bool enabled
169 ) const /*override*/;
170
171 virtual ::PackSource& createWorldHistoryPackSource(::Core::Path const& path, ::PackType type) const /*override*/;
172
173 virtual ::RealmsUnknownPackSources& getRealmsUnknownPackSources() const /*override*/;
174
175 virtual ::std::unique_ptr<::Realms::RealmsServicePackSource> createRealmsServicePackSource(
176 int64 realmId,
177 ::PackType packType,
178 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& servicePackData
179 ) const /*override*/;
180
181 virtual bool allowsResourcePackDevelopment() const /*override*/;
182
183 virtual ::Bedrock::NonOwnerPointer<::AppPlatform> getPlatform() const /*override*/;
184 // NOLINTEND
185
186public:
187 // member functions
188 // NOLINTBEGIN
189 MCAPI explicit ContentManagerFactoryImpl(::ContentManagerFactoryArgs const& args);
190
191 MCAPI ::PackManagerContentSourceArgs createPackManagerArgs(
192 ::ContentType type,
193 ::ContentFlags flags,
194 ::std::vector<::PackManagerContentSourceData>&& data
195 ) const;
196 // NOLINTEND
197
198public:
199 // constructor thunks
200 // NOLINTBEGIN
201 MCAPI void* $ctor(::ContentManagerFactoryArgs const& args);
202 // NOLINTEND
203
204public:
205 // virtual function thunks
206 // NOLINTBEGIN
207 MCAPI ::std::unique_ptr<::WorldContentSource> $createWorldContentSource() const;
208
209 MCAPI ::std::unique_ptr<::WorldTemplateSource> $createWorldTemplateSource() const;
210
211 MCAPI ::std::unique_ptr<::InvalidResourceSource>
212 $createInvalidResourceSource(::InvalidPacksFilterGroup const& filter) const;
213
214 MCAPI ::std::unique_ptr<::ContentSource> $createWorldPackManagerContentSource(
215 ::std::string const& worldID,
216 ::Core::PathBuffer<::std::string> worldPath,
217 ::ContentFlags flags,
218 ::std::vector<::PackManagerContentSourceData>&& data,
219 ::std::weak_ptr<::CachedHostPackIdProvider> provider
220 ) const;
221
222 MCAPI ::std::unique_ptr<::ContentSource> $createRealmPackManagerContentSource(
223 int64 realmID,
224 ::ContentFlags flags,
225 ::std::vector<::PackManagerContentSourceData>&& data
226 ) const;
227
228 MCAPI ::std::unique_ptr<::ContentSource> $createRealmsWorldPackManagerContentSource(
229 ::Realms::RealmId realmId,
230 ::std::vector<::Realms::Content>&& serviceAppliedContent,
231 ::ContentFlags flags,
232 ::std::vector<::PackManagerContentSourceData>&& data
233 ) const;
234
235 MCAPI ::std::unique_ptr<::ContentSource> $createPackManagerContentSource(
236 ::ContentType type,
237 ::ContentFlags flags,
238 ::std::vector<::PackManagerContentSourceData>&& data
239 ) const;
240
241 MCAPI ::std::unique_ptr<::CompositePackSource>
242 $createCompositePackSource(::std::vector<::PackSource*> sources) const;
243
244 MCAPI ::PackSource* $getInPackagePackSource(::PackType type) const;
245
246 MCAPI ::PackSource* $getDirectoryPackSource(::Core::Path const& path, ::PackType type) const;
247
248 MCAPI ::PackSource&
249 $createDirectoryPackSource(::Core::Path const& path, ::PackType type, ::PackOrigin origin) const;
250
251 MCAPI ::PackSource&
252 $createWorldTemplatePackSource(::mce::UUID const& id, ::PackType type, ::PackOrigin origin) const;
253
254 MCAPI ::ContentCatalogPackSource& $createContentCatalogPackSource(
255 ::std::weak_ptr<::ContentManagerUtils::ISourcesAsyncReloader>&& weakSourcesAsyncReloader,
256 bool enabled
257 ) const;
258
259 MCAPI ::PackSource& $createWorldHistoryPackSource(::Core::Path const& path, ::PackType type) const;
260
261 MCAPI ::RealmsUnknownPackSources& $getRealmsUnknownPackSources() const;
262
263 MCAPI ::std::unique_ptr<::Realms::RealmsServicePackSource> $createRealmsServicePackSource(
264 int64 realmId,
265 ::PackType packType,
266 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& servicePackData
267 ) const;
268
269 MCAPI bool $allowsResourcePackDevelopment() const;
270
271 MCAPI ::Bedrock::NonOwnerPointer<::AppPlatform> $getPlatform() const;
272 // NOLINTEND
273
274public:
275 // vftables
276 // NOLINTBEGIN
277 MCNAPI static void** $vftable();
278 // NOLINTEND
279};
Definition AppPlatform.h:91
Definition CachedHostPackIdProvider.h:5
Definition CompositePackSource.h:17
Definition ContentCatalogPackSource.h:5
Definition ContentManagerFactoryImpl.h:13
Definition ContentManagerFactoryImpl.h:5
static MCAPI void ** $vftable()
Definition ISourcesAsyncReloader.h:7
Definition ContentTierInfo.h:12
Definition Path.h:12
Definition IContentManagerFactory.h:5
Definition IContentTierManager.h:13
Definition PackSource.h:30
Definition Pack.h:28
Definition Path.h:16
Definition RealmsServicePackSource.h:19
Definition UUID.h:7
STL namespace.
Definition ContentManagerFactoryArgs.h:5
Definition ContentSource.h:5
Definition InvalidPacksFilterGroup.h:8
Definition InvalidResourceSource.h:5
Definition PackManagerContentSourceArgs.h:5
Definition PackManagerContentSourceData.h:5
Definition RealmsUnknownPackSources.h:5
Definition Content.h:7
Definition RealmId.h:7
Definition WorldContentSource.h:5
Definition WorldTemplateSource.h:5