3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/resources/PackAccessStrategy.h"
9#include "mc/resources/PackAccessStrategyType.h"
18namespace Bedrock::Resources::Archive {
class Reader; }
19namespace Core {
class Path; }
23class ZipPackAccessStrategy :
public ::PackAccessStrategy {
39 ZipPackAccessStrategy& operator=(ZipPackAccessStrategy
const&);
40 ZipPackAccessStrategy(ZipPackAccessStrategy
const&);
41 ZipPackAccessStrategy();
46 virtual ~ZipPackAccessStrategy() ;
48 virtual uint64 getPackSize()
const ;
50 virtual ::ResourceLocation
const& getPackLocation()
const ;
52 virtual ::std::string
const& getPackName()
const ;
54 virtual bool isWritable()
const ;
56 virtual bool isTrusted()
const ;
58 virtual bool hasAsset(
::Core::Path const& packRelativePath,
bool trustedContentOnly,
bool caseSensative)
const
61 virtual bool hasFolder(
::Core::Path const& packRelativePath)
const ;
63 virtual bool getAsset(
::Core::Path const& packRelativePath, ::std::string& result,
bool trustedContentOnly)
const
66 virtual void forEachIn(
72 virtual ::PackAccessStrategyType getStrategyType()
const ;
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 ;
80 virtual void unload() ;
82 virtual ::ContentIdentity readContentIdentity()
const ;
84 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
85 _loadArchive(
::Core::Path const& packRelativePath)
const ;
87 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
88 _preloadSubFolders(
::Core::Path const& packRelativePath)
const ;
95 ::std::variant<::Bedrock::NotNullNonOwnerPtr<::IFileAccess>, ::gsl::not_null<::std::shared_ptr<::IFileAccess>>>
101 ::gsl::not_null<::Core::UnzipFile*> zipFile,
103 ::std::string& result
113 ::std::variant<::Bedrock::NotNullNonOwnerPtr<::IFileAccess>, ::gsl::not_null<::std::shared_ptr<::IFileAccess>>>
152 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 PreloadedPathHandle.h:15
Definition ContentIdentity.h:8
Definition UnzipFile.h:18
Definition IFileAccess.h:15
Definition ResourceLocation.h:15
MCAPI bool initZipFile() const
MCAPI bool _getAsset(::gsl::not_null<::Core::UnzipFile * > zipFile, ::Core::Path const &packRelativePath, ::std::string &result) const
MCAPI bool $isTrusted() const
MCAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader > $_loadArchive(::Core::Path const &packRelativePath) const
MCAPI bool $isWritable() const
MCAPI uint64 $getPackSize() const
MCAPI bool $supportsSignatureVerification() const
static MCAPI void ** $vftable()
MCAPI::std::string const & $getPackName() const
MCAPI ::std::unique_ptr<::PackAccessStrategy > $createSubPack(::Core::Path const &subPath) const
MCAPI void * $ctor(::std::variant<::Bedrock::NotNullNonOwnerPtr<::IFileAccess >, ::gsl::not_null<::std::shared_ptr<::IFileAccess > > > fileAccess, ::ZipPackArgs &&args)
MCAPI ::Core::PathBuffer<::std::string > const & $getSubPath() const
MCAPI void $forEachIn(::Core::Path const &packRelativePath, ::std::function< void(::Core::Path const &)> callback, bool recurseAnyways) const
MCAPI bool $hasFolder(::Core::Path const &packRelativePath) const
MCAPI::PackAccessStrategyType $getStrategyType() const
MCAPI ZipPackAccessStrategy(::std::variant<::Bedrock::NotNullNonOwnerPtr<::IFileAccess >, ::gsl::not_null<::std::shared_ptr<::IFileAccess > > > fileAccess, ::ZipPackArgs &&args)
MCAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle > $_preloadSubFolders(::Core::Path const &packRelativePath) const
MCAPI bool $hasAsset(::Core::Path const &packRelativePath, bool trustedContentOnly, bool caseSensative) const
MCAPI::ResourceLocation const & $getPackLocation() const
MCAPI::ContentIdentity $readContentIdentity() const
MCAPI bool $getAsset(::Core::Path const &packRelativePath, ::std::string &result, bool trustedContentOnly) const
Definition ZipPackArgs.h:5