3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/resource/PackOrigin.h"
7#include "mc/deps/core/resource/PackType.h"
8#include "mc/deps/core/threading/Async.h"
9#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/platform/brstd/function_ref.h"
38 class RequiredPackOrigin {
47 RequiredPackOrigin& operator=(RequiredPackOrigin
const&);
48 RequiredPackOrigin(RequiredPackOrigin
const&);
52 class RequiredPackType {
61 RequiredPackType& operator=(RequiredPackType
const&);
62 RequiredPackType(RequiredPackType
const&);
72 class RequiredResourceOrBehaviorPackType {
81 RequiredResourceOrBehaviorPackType& operator=(RequiredResourceOrBehaviorPackType
const&);
82 RequiredResourceOrBehaviorPackType(RequiredResourceOrBehaviorPackType
const&);
83 RequiredResourceOrBehaviorPackType();
89 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPackIOProvider>>
const> mIO;
90 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
91 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PackStorageContainer>>> mContainer;
101 virtual ~PackSource() = 0;
103 virtual void forEachPackShared(
::brstd::function_ref<
void(::gsl::not_null<::std::shared_ptr<::Pack>>)> callback);
105 virtual ::PackOrigin getPackOrigin()
const;
107 virtual ::PackType getPackType()
const;
109 virtual void _buildSourcesForLoad(::std::vector<::gsl::not_null<::PackSource*>>& sources);
119 MCNAPI
void _addPack(::std::shared_ptr<::Pack> pack);
122 MCNAPI ::Bedrock::Threading::Async<void>
123 _addPacks(::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& packs);
130 MCNAPI ::PackSourceLoadResult
136 MCNAPI ::Bedrock::Threading::Async<::std::vector<::gsl::not_null<::std::shared_ptr<::Pack const>>>> getPacks();
139 MCNAPI ::PackSourceReport
load(
141 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>
const& keyProvider
146 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>
const& keyProvider
Definition EnableNonOwnerReferences.h:7
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:19
Definition IPackManifestFactory.h:17
Definition PackSourceReport.h:11
Definition PackSource.h:38
Definition PackSource.h:52
static MCAPI ::PackType assertValidPackType(::PackType type)
Definition PackSource.h:72
static MCAPI void ** $vftable()
MCAPI::PackSourceLoadResult _getTaskData(::brstd::function_ref<::PackSourceLoadResult(::std::shared_ptr<::PackTaskData >)> task)
MCAPI::PackSourceLoadResult _createImmediateLoadResult()
MCAPI::PackSourceReport load(::IPackManifestFactory &manifestFactory, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider)
MCAPI void $forEachPackShared(::brstd::function_ref< void(::gsl::not_null<::std::shared_ptr<::Pack > >)> callback)
MCAPI void * $ctor(::PackSourceOptions options)
MCAPI::PackSourceLoadResult loadImmediate(::IPackManifestFactory &manifestFactory, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider)
MCAPI::PackSourceLoadResult requestLoad(::PackSourceLoadOptions &&options)
MCAPI void $_buildSourcesForLoad(::std::vector<::gsl::not_null<::PackSource * > > &sources)
MCAPI::PackSourceLoadResult _applyAndFinishLoadTask(::std::shared_ptr<::PackTaskData > task)
MCAPI::PackOrigin $getPackOrigin() const
MCAPI PackSource(::PackSourceOptions options)
MCAPI::PackType $getPackType() const
MCAPI void _addPack(::std::shared_ptr<::Pack > pack)
Definition PackStorageContainer.h:9
Definition TaskGroup.h:85
Definition function_ref.h:60
Definition PackSourceLoadOptions.h:5
Definition PackSourceLoadResult.h:5
Definition PackSourceOptions.h:5
Definition PackTaskData.h:5