3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/string/BasicStackString.h"
8#include "mc/resources/PackAccessAssetGenerationResult.h"
9#include "mc/resources/PackAccessStrategyType.h"
16namespace Bedrock::Resources::Archive {
class Reader; }
17namespace Core {
class Path; }
18namespace Json {
class Value; }
21class PackAccessStrategy {
31 PackAccessStrategy& operator=(PackAccessStrategy
const&);
37 virtual ~PackAccessStrategy();
39 virtual uint64 getPackSize()
const = 0;
41 virtual ::ResourceLocation
const& getPackLocation()
const = 0;
43 virtual ::std::string
const& getPackName()
const = 0;
45 virtual bool isWritable()
const = 0;
47 virtual bool isTrusted()
const = 0;
49 virtual bool hasAsset(
::Core::Path const&,
bool,
bool)
const = 0;
53 virtual bool getAsset(
::Core::Path const&, ::std::string&,
bool)
const = 0;
59 virtual ::PackAccessStrategyType getStrategyType()
const = 0;
61 virtual ::Core::PathBuffer<::std::string>
const& getSubPath()
const;
63 virtual bool supportsSignatureVerification()
const;
65 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(
::Core::Path const&)
const = 0;
67 virtual ::PackAccessAssetGenerationResult generateAssetSet();
69 virtual ::PackAccessAssetGenerationResult regenerateAssetSet();
71 virtual bool canRecurse()
const;
73 virtual void unload() = 0;
75 virtual ::ContentIdentity readContentIdentity()
const;
77 virtual bool isAssetExtractionViable()
const;
79 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader> _loadArchive(
::Core::Path const&)
const;
81 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle> _preloadSubFolders(
::Core::Path const&)
const;
99 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
106 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
ARCHIVE_EXTENSION();
108 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
ARCHIVE_FOLDER();
130 MCNAPI ::Core::PathBuffer<::std::string>
const&
$getSubPath()
const;
Definition PreloadedPathHandle.h:15
Definition ContentIdentity.h:8
MCAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle > $_preloadSubFolders(::Core::Path const &) const
MCAPI::Bedrock::Resources::PreloadedPathHandle preloadArchive(::Core::Path const &packRelativePath) const
MCAPI::ContentIdentity $readContentIdentity() const
MCAPI bool $canRecurse() const
static MCAPI void ** $vftable()
static MCAPI ::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > const & ARCHIVE_EXTENSION()
MCAPI void $forEachInAssetSet(::Core::Path const &, ::std::function< void(::Core::Path const &)>) const
MCAPI bool $isAssetExtractionViable() const
MCAPI ::Core::PathBuffer<::std::string > const & $getSubPath() const
MCAPI bool _isInAssetSet(::Core::Path const &path) const
MCAPI void _upgradeContentsFile(::Json::Value &root)
MCAPI bool $supportsSignatureVerification() const
MCAPI::PackAccessAssetGenerationResult $regenerateAssetSet()
MCAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader > $_loadArchive(::Core::Path const &) const
MCAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle > preloadPath(::Core::Path const &packRelativePath) const
MCAPI void _forEachInAssetSet(::std::function< void(::Core::Path const &)> callback) const
MCAPI::PackAccessAssetGenerationResult $generateAssetSet()
static MCAPI ::Core::PathBuffer<::std::string > const & PACK_IMPORT_LOCK_FILE()
static MCAPI ::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > const & ARCHIVE_FOLDER()
MCAPI PackAccessStrategy()
MCAPI bool _isInAssetSetCaseInsensative(::Core::Path const &path) const
Definition ResourceLocation.h:15