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;
55 virtual bool hasAsset(
::Core::Path const& packRelativePath,
bool trustedContentOnly,
bool caseSensative)
const = 0;
57 virtual bool hasFolder(
::Core::Path const& packRelativePath)
const = 0;
60 getAsset(
::Core::Path const& packRelativePath, ::std::string& result,
bool trustedContentOnly)
const = 0;
62 virtual void forEachIn(
71 virtual ::PackAccessStrategyType getStrategyType()
const = 0;
73 virtual ::Core::PathBuffer<::std::string>
const& getSubPath()
const;
75 virtual bool supportsSignatureVerification()
const;
77 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(
::Core::Path const& subPath)
const = 0;
79 virtual ::PackAccessAssetGenerationResult generateAssetSet();
81 virtual ::PackAccessAssetGenerationResult regenerateAssetSet();
83 virtual bool canRecurse()
const;
85 virtual void unload() = 0;
87 virtual ::ContentIdentity readContentIdentity()
const;
89 virtual bool isAssetExtractionViable()
const;
91 virtual ::Bedrock::Result<::StreamableAssetSource> getStreamableSource(
93 ::std::optional<::Core::PathView> tempDirectory
96 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
97 _loadArchive(
::Core::Path const& packRelativePath)
const;
99 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
100 _preloadSubFolders(
::Core::Path const& packRelativePath)
const;
107 ::std::unique_ptr<::PackAssetSet>&& assetSet,
108 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
113 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
120 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
ARCHIVE_EXTENSION();
122 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
const&
ARCHIVE_FOLDER();
131 ::std::unique_ptr<::PackAssetSet>&& assetSet,
132 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
148 MCNAPI ::Core::PathBuffer<::std::string>
const&
$getSubPath()
const;
162 MCNAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
165 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
Definition ContentIdentity.h:8