25class PackAccessStrategy {
36 PackAccessStrategy& operator=(PackAccessStrategy
const&);
37 PackAccessStrategy(PackAccessStrategy
const&);
43 virtual ~PackAccessStrategy();
45 virtual uint64 getPackSize()
const = 0;
47 virtual ::ResourceLocation
const& getPackLocation()
const = 0;
49 virtual ::std::string
const& getPackName()
const = 0;
51 virtual bool isWritable()
const = 0;
53 virtual bool isTrusted()
const = 0;
56 hasAsset(
::Core::PathView const& packRelativePath,
bool trustedContentOnly,
bool caseSensative)
const = 0;
58 virtual bool hasFolder(
::Core::Path const& packRelativePath)
const = 0;
61 getAsset(
::Core::PathView const& packRelativePath, ::std::string& result,
bool trustedContentOnly)
const = 0;
63 virtual void forEachIn(
72 virtual ::PackAccessStrategyType getStrategyType()
const = 0;
74 virtual ::Core::PathBuffer<::std::string>
const& getSubPath()
const;
76 virtual bool supportsSignatureVerification()
const;
78 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(
::Core::Path const& subPath)
const = 0;
80 virtual ::PackAccessAssetGenerationResult generateAssetSet();
82 virtual ::PackAccessAssetGenerationResult regenerateAssetSet();
84 virtual bool canRecurse()
const;
86 virtual void unload() = 0;
88 virtual ::ContentIdentity readContentIdentity()
const;
90 virtual bool isAssetExtractionViable()
const;
92 virtual ::Bedrock::Result<::StreamableAssetSource> getStreamableSource(
94 ::std::optional<::Core::PathView> tempDirectory
97 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
98 _loadArchive(
::Core::Path const& packRelativePath)
const;
100 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
101 _preloadSubFolders(
::Core::Path const& packRelativePath)
const;
108 ::std::unique_ptr<::PackAssetSet>&& assetSet,
109 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
114 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
121 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
ARCHIVE_EXTENSION();
123 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
ARCHIVE_FOLDER();
132 ::std::unique_ptr<::PackAssetSet>&& assetSet,
133 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
149 MCNAPI ::Core::PathBuffer<::std::string>
const&
$getSubPath()
const;
163 MCNAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
166 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
Definition ContentIdentity.h:8