3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/platform/Result.h"
7#include "mc/resources/PackAccessStrategy.h"
8#include "mc/resources/PackAccessStrategyType.h"
16namespace Bedrock::Resources::Archive {
class Reader; }
18namespace Core {
class Path; }
22class DirectoryPackAccessStrategy :
public ::PackAccessStrategy {
35 DirectoryPackAccessStrategy& operator=(DirectoryPackAccessStrategy
const&);
36 DirectoryPackAccessStrategy(DirectoryPackAccessStrategy
const&);
37 DirectoryPackAccessStrategy();
42 virtual ~DirectoryPackAccessStrategy() ;
44 virtual uint64 getPackSize()
const ;
46 virtual ::ResourceLocation
const& getPackLocation()
const ;
48 virtual ::std::string
const& getPackName()
const ;
50 virtual bool isWritable()
const ;
52 virtual bool isTrusted()
const ;
54 virtual bool hasAsset(
::Core::Path const& packRelativePath,
bool trustedContentOnly,
bool caseSensative)
const
57 virtual bool hasFolder(
::Core::Path const& packRelativePath)
const ;
59 virtual bool getAsset(
::Core::Path const& packRelativePath, ::std::string& result,
bool trustedContentOnly)
const
62 virtual void forEachIn(
68 virtual ::PackAccessStrategyType getStrategyType()
const ;
70 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(
::Core::Path const& subPath)
const ;
72 virtual bool canRecurse()
const ;
74 virtual void unload() ;
76 virtual ::Bedrock::Result<::StreamableAssetSource>
77 getStreamableSource(
::Core::Path const& packRelativePath, ::std::optional<::Core::PathView> tempDirectory)
const
80 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
81 _loadArchive(
::Core::Path const& packRelativePath)
const ;
83 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
84 _preloadSubFolders(
::Core::Path const& packRelativePath)
const ;
93 ::std::function<::std::string(
::Core::Path const&)> reader,
94 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
98 ::std::unique_ptr<::PackAssetSet>&& assetSet,
101 ::std::function<::std::string(
::Core::Path const&)> reader,
102 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
112 ::std::function<::std::string(
::Core::Path const&)> reader,
113 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
117 ::std::unique_ptr<::PackAssetSet>&& assetSet,
120 ::std::function<::std::string(
::Core::Path const&)> reader,
121 ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool>> handlePool
164 MCNAPI ::Bedrock::Result<::StreamableAssetSource>
167 MCNAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
170 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
Definition PreloadedPathHandle.h:16
Definition FileHandlePool.h:14
MCAPI bool $hasFolder(::Core::Path const &packRelativePath) const
MCAPI::ResourceLocation const & $getPackLocation() const
MCAPI::PackAccessStrategyType $getStrategyType() const
MCAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader > $_loadArchive(::Core::Path const &packRelativePath) const
MCAPI DirectoryPackAccessStrategy(::std::unique_ptr<::PackAssetSet > &&assetSet, ::ResourceLocation const &packLocation, bool recurse, ::std::function<::std::string(::Core::Path const &)> reader, ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool > > handlePool)
MCAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle > $_preloadSubFolders(::Core::Path const &packRelativePath) const
MCAPI::std::string const & $getPackName() const
MCAPI bool $hasAsset(::Core::Path const &packRelativePath, bool trustedContentOnly, bool caseSensative) const
MCAPI bool $canRecurse() const
MCAPI bool $getAsset(::Core::Path const &packRelativePath, ::std::string &result, bool trustedContentOnly) const
MCAPI void $forEachIn(::Core::Path const &packRelativePath, ::std::function< void(::Core::Path const &)> callback, bool recurseAnyways) const
MCAPI DirectoryPackAccessStrategy(::ResourceLocation const &packLocation, bool recurse, ::std::function<::std::string(::Core::Path const &)> reader, ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool > > handlePool)
MCAPI void * $ctor(::std::unique_ptr<::PackAssetSet > &&assetSet, ::ResourceLocation const &packLocation, bool recurse, ::std::function<::std::string(::Core::Path const &)> reader, ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool > > handlePool)
MCAPI uint64 $getPackSize() const
MCAPI bool $isWritable() const
MCAPI bool $isTrusted() const
MCAPI void * $ctor(::ResourceLocation const &packLocation, bool recurse, ::std::function<::std::string(::Core::Path const &)> reader, ::gsl::not_null<::std::shared_ptr<::Core::FileHandlePool > > handlePool)
MCAPI ::Bedrock::Result<::StreamableAssetSource > $getStreamableSource(::Core::Path const &packRelativePath, ::std::optional<::Core::PathView > tempDirectory) const
MCAPI ::std::unique_ptr<::PackAccessStrategy > $createSubPack(::Core::Path const &subPath) const
Definition PackAssetSet.h:14
Definition ResourceLocation.h:15
Definition StreamableAssetSource.h:5