Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ZipPackAccessStrategy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/platform/Result.h"
9#include "mc/resources/PackAccessStrategy.h"
10#include "mc/resources/PackAccessStrategyType.h"
11
12// auto generated forward declare list
13// clang-format off
14class ContentIdentity;
15class IFileAccess;
18struct ZipPackArgs;
19namespace Bedrock::Resources { class PreloadedPathHandle; }
20namespace Bedrock::Resources::Archive { class Reader; }
21namespace Core { class Path; }
22namespace Core { class PathView; }
23// clang-format on
24
25class ZipPackAccessStrategy : public ::PackAccessStrategy {
26public:
27 // member variables
28 // NOLINTBEGIN
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 ZipPackAccessStrategy& operator=(ZipPackAccessStrategy const&);
42 ZipPackAccessStrategy(ZipPackAccessStrategy const&);
43 ZipPackAccessStrategy();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~ZipPackAccessStrategy() /*override*/ = default;
49
50 virtual uint64 getPackSize() const /*override*/;
51
52 virtual ::ResourceLocation const& getPackLocation() const /*override*/;
53
54 virtual ::std::string const& getPackName() const /*override*/;
55
56 virtual bool isWritable() const /*override*/;
57
58 virtual bool isTrusted() const /*override*/;
59
60 virtual bool hasAsset(::Core::PathView const& packRelativePath, bool trustedContentOnly, bool caseSensative) const
61 /*override*/;
62
63 virtual bool hasFolder(::Core::Path const& packRelativePath) const /*override*/;
64
65 virtual bool
66 getAsset(::Core::PathView const& packRelativePath, ::std::string& result, bool trustedContentOnly) const
67 /*override*/;
68
69 virtual void forEachIn(
70 ::Core::Path const& packRelativePath,
71 ::std::function<void(::Core::Path const&)> callback,
72 bool recurseAnyways
73 ) const /*override*/;
74
75 virtual ::PackAccessStrategyType getStrategyType() const /*override*/;
76
77 virtual ::Core::PathBuffer<::std::string> const& getSubPath() const /*override*/;
78
79 virtual bool supportsSignatureVerification() const /*override*/;
80
81 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(::Core::Path const& subPath) const /*override*/;
82
83 virtual void unload() /*override*/;
84
85 virtual ::ContentIdentity readContentIdentity() const /*override*/;
86
87 virtual ::Bedrock::Result<::StreamableAssetSource>
88 getStreamableSource(::Core::Path const& packRelativePath, ::std::optional<::Core::PathView> tempDirectory) const
89 /*override*/;
90
91 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
92 _loadArchive(::Core::Path const& packRelativePath) const /*override*/;
93
94 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
95 _preloadSubFolders(::Core::Path const& packRelativePath) const /*override*/;
96 // NOLINTEND
97
98public:
99 // member functions
100 // NOLINTBEGIN
101 MCNAPI ZipPackAccessStrategy(::gsl::not_null<::std::shared_ptr<::IFileAccess>> fileAccess, ::ZipPackArgs&& args);
102
104 ::std::variant<::Bedrock::NotNullNonOwnerPtr<::IFileAccess>, ::gsl::not_null<::std::shared_ptr<::IFileAccess>>>
105 fileAccess,
106 ::ZipPackArgs&& args
107 );
108
109 MCNAPI bool initZipFile() const;
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCNAPI void* $ctor(::gsl::not_null<::std::shared_ptr<::IFileAccess>> fileAccess, ::ZipPackArgs&& args);
116
117 MCNAPI void* $ctor(
118 ::std::variant<::Bedrock::NotNullNonOwnerPtr<::IFileAccess>, ::gsl::not_null<::std::shared_ptr<::IFileAccess>>>
119 fileAccess,
120 ::ZipPackArgs&& args
121 );
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCNAPI uint64 $getPackSize() const;
128
129 MCNAPI ::ResourceLocation const& $getPackLocation() const;
130
131 MCNAPI ::std::string const& $getPackName() const;
132
133 MCNAPI bool $isWritable() const;
134
135 MCNAPI bool $isTrusted() const;
136
137 MCNAPI bool $hasAsset(::Core::PathView const& packRelativePath, bool trustedContentOnly, bool caseSensative) const;
138
139 MCNAPI bool $hasFolder(::Core::Path const& packRelativePath) const;
140
141 MCNAPI bool
142 $getAsset(::Core::PathView const& packRelativePath, ::std::string& result, bool trustedContentOnly) const;
143
144 MCNAPI void $forEachIn(
145 ::Core::Path const& packRelativePath,
146 ::std::function<void(::Core::Path const&)> callback,
147 bool recurseAnyways
148 ) const;
149
150 MCNAPI ::PackAccessStrategyType $getStrategyType() const;
151
152 MCNAPI ::Core::PathBuffer<::std::string> const& $getSubPath() const;
153
155
156 MCNAPI ::std::unique_ptr<::PackAccessStrategy> $createSubPack(::Core::Path const& subPath) const;
157
158 MCNAPI void $unload();
159
160 MCNAPI ::ContentIdentity $readContentIdentity() const;
161
162 MCNAPI ::Bedrock::Result<::StreamableAssetSource>
163 $getStreamableSource(::Core::Path const& packRelativePath, ::std::optional<::Core::PathView> tempDirectory) const;
164
165 MCNAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader>
166 $_loadArchive(::Core::Path const& packRelativePath) const;
167
168 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
169 $_preloadSubFolders(::Core::Path const& packRelativePath) const;
170
171
172 // NOLINTEND
173};
Definition PreloadedPathHandle.h:16
Definition ContentIdentity.h:8
Definition PathView.h:19
Definition Path.h:10
Definition IFileAccess.h:15
Definition ResourceLocation.h:15
MCAPI bool initZipFile() const
MCAPI bool $isTrusted() const
MCAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader > $_loadArchive(::Core::Path const &packRelativePath) const
MCAPI bool $hasAsset(::Core::PathView const &packRelativePath, bool trustedContentOnly, bool caseSensative) const
MCAPI bool $isWritable() const
MCAPI uint64 $getPackSize() const
MCAPI void * $ctor(::gsl::not_null<::std::shared_ptr<::IFileAccess > > fileAccess, ::ZipPackArgs &&args)
MCAPI bool $supportsSignatureVerification() const
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 void $unload()
MCAPI bool $getAsset(::Core::PathView const &packRelativePath, ::std::string &result, bool trustedContentOnly) 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::ResourceLocation const & $getPackLocation() const
MCAPI ZipPackAccessStrategy(::gsl::not_null<::std::shared_ptr<::IFileAccess > > fileAccess, ::ZipPackArgs &&args)
MCAPI::ContentIdentity $readContentIdentity() const
MCAPI ::Bedrock::Result<::StreamableAssetSource > $getStreamableSource(::Core::Path const &packRelativePath, ::std::optional<::Core::PathView > tempDirectory) const
Definition StreamableAssetSource.h:5
Definition ZipPackArgs.h:5
Definition Alias.h:14