3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/resources/IContentCatalogPackSource.h"
7#include "mc/deps/core/resource/PackType.h"
8#include "mc/deps/core/threading/Async.h"
9#include "mc/deps/core/threading/SharedAsync.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
15class IEntitlementManager;
24 public ::std::enable_shared_from_this<::ContentCatalogPackSource> {
28 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager>> mEntitlementManager;
29 ::ll::TypedStorage<1, 1, bool> mEnabled;
30 ::ll::TypedStorage<1, 1, ::PackType const> mPackType;
31 ::ll::TypedStorage<1, 1, bool const> mHighPriorityIconRequests;
32 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::SharedAsync<void>> mActiveFetch;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mTaskGroup;
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IContentCatalogPackSourceService>> mCatalogService;
35 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ContentManagerUtils::ISourcesAsyncReloader>> mWeakSourcesAsyncReloader;
41 virtual ~ContentCatalogPackSource() =
default;
43 virtual void setEnabled(
bool enabled) ;
45 virtual ::PackSourceLoadResult _loadImpl(::PackSourceLoadOptions&&) ;
47 virtual ::PackType getPackType() const ;
49 virtual
void refreshCatalogItems(::IPackManifestFactory&) ;
55 MCAPI ::Bedrock::Threading::Async<
void> _load();
61 MCAPI
void $setEnabled(
bool enabled);
63 MCAPI ::PackSourceLoadResult $_loadImpl(::PackSourceLoadOptions&&);
65 MCAPI ::PackType $getPackType() const;
67 MCAPI
void $refreshCatalogItems(::IPackManifestFactory&);
Definition ContentCatalogPackSource.h:5
Definition ISourcesAsyncReloader.h:7
Definition IContentCatalogPackSourceService.h:5
Definition IContentCatalogPackSource.h:5
Definition IPackManifestFactory.h:17
Definition TaskGroup.h:86
Definition PackSourceLoadOptions.h:5
Definition PackSourceLoadResult.h:5