Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ZippedEncryptedFilesAccessStrategy.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/EncryptedFileAccessStrategy.h"
10#include "mc/resources/PackAccessStrategyType.h"
11
12// auto generated forward declare list
13// clang-format off
14class ContentIdentity;
16class IPackIOProvider;
21namespace Bedrock::Resources { class PreloadedPathHandle; }
22namespace Core { class Path; }
23namespace Core { class PathView; }
24// clang-format on
25
26class ZippedEncryptedFilesAccessStrategy : public ::EncryptedFileAccessStrategy {
27public:
28 // member variables
29 // NOLINTBEGIN
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 ZippedEncryptedFilesAccessStrategy& operator=(ZippedEncryptedFilesAccessStrategy const&);
38 ZippedEncryptedFilesAccessStrategy(ZippedEncryptedFilesAccessStrategy const&);
39 ZippedEncryptedFilesAccessStrategy();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ::ResourceLocation const& getPackLocation() const /*override*/;
45
46 virtual bool hasFolder(::Core::Path const& packRelativePath) const /*override*/;
47
48 virtual void forEachIn(
49 ::Core::Path const& packRelativePath,
50 ::std::function<void(::Core::Path const&)> callback,
51 bool recurseAnyways
52 ) const /*override*/;
53
54 virtual ::PackAccessStrategyType getStrategyType() const /*override*/;
55
56 virtual ::Core::PathBuffer<::std::string> const& getSubPath() const /*override*/;
57
58 virtual bool supportsSignatureVerification() const /*override*/;
59
60 virtual void unload() /*override*/;
61
62 virtual ::Bedrock::Result<::StreamableAssetSource>
63 getStreamableSource(::Core::Path const& packRelativePath, ::std::optional<::Core::PathView> tempDirectory) const
64 /*override*/;
65
66 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(::Core::Path const& subPath) const /*override*/;
67
68 virtual ::std::string _getContentsFile() /*override*/;
69
70 virtual ::std::string _getRawContentsFile() const /*override*/;
71
72 virtual void _getEncryptedAssetStream(::Core::PathView const& packRelativePath, ::std::string& result) const
73 /*override*/;
74
75 virtual bool _getArchiveAssetFallback(
76 ::Core::PathView const& packRelativePath,
77 ::Core::PathView const& packRelativeArchivePath,
78 ::EncryptedAssetInfo const& entryInfo,
79 ::std::string& result
80 ) const /*override*/;
81
82 virtual ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
83 _preloadSubFolders(::Core::Path const& packRelativePath) const /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
90 ::ResourceLocation const& archiveLocation,
91 ::ContentIdentity const& contentIdentity,
92 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
93 ::IPackIOProvider const& io,
94 ::Core::Path const& subPath,
95 ::std::unique_ptr<::PackAccessStrategy> zipSubPack
96 );
97 // NOLINTEND
98
99public:
100 // static functions
101 // NOLINTBEGIN
102 MCNAPI static bool isValidZippedEncryptedPack(
103 ::IPackIOProvider const& io,
104 ::Core::Path const& pathToPack,
105 ::ContentIdentity& contentIdentity,
106 ::Core::Path const& subPath
107 );
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCNAPI void* $ctor(
114 ::ResourceLocation const& archiveLocation,
115 ::ContentIdentity const& contentIdentity,
116 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
117 ::IPackIOProvider const& io,
118 ::Core::Path const& subPath,
119 ::std::unique_ptr<::PackAccessStrategy> zipSubPack
120 );
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCNAPI ::ResourceLocation const& $getPackLocation() const;
127
128 MCNAPI bool $hasFolder(::Core::Path const& packRelativePath) const;
129
130 MCNAPI void $forEachIn(
131 ::Core::Path const& packRelativePath,
132 ::std::function<void(::Core::Path const&)> callback,
133 bool recurseAnyways
134 ) const;
135
136 MCNAPI ::PackAccessStrategyType $getStrategyType() const;
137
138 MCNAPI ::Core::PathBuffer<::std::string> const& $getSubPath() const;
139
141
142 MCNAPI void $unload();
143
144 MCNAPI ::Bedrock::Result<::StreamableAssetSource>
145 $getStreamableSource(::Core::Path const& packRelativePath, ::std::optional<::Core::PathView> tempDirectory) const;
146
147 MCNAPI ::std::unique_ptr<::PackAccessStrategy> $createSubPack(::Core::Path const& subPath) const;
148
149 MCNAPI ::std::string $_getContentsFile();
150
151 MCNAPI ::std::string $_getRawContentsFile() const;
152
153 MCNAPI void $_getEncryptedAssetStream(::Core::PathView const& packRelativePath, ::std::string& result) const;
154
156 ::Core::PathView const& packRelativePath,
157 ::Core::PathView const& packRelativeArchivePath,
158 ::EncryptedAssetInfo const& entryInfo,
159 ::std::string& result
160 ) const;
161
162 MCNAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle>
163 $_preloadSubFolders(::Core::Path const& packRelativePath) const;
164
165
166 // NOLINTEND
167};
Definition PreloadedPathHandle.h:16
Definition ContentIdentity.h:8
Definition PathView.h:19
Definition Path.h:10
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:19
Definition PackAccessStrategy.h:25
Definition ResourceLocation.h:15
MCAPI void $_getEncryptedAssetStream(::Core::PathView const &packRelativePath, ::std::string &result) const
MCAPI::ResourceLocation const & $getPackLocation() const
MCAPI bool $_getArchiveAssetFallback(::Core::PathView const &packRelativePath, ::Core::PathView const &packRelativeArchivePath, ::EncryptedAssetInfo const &entryInfo, ::std::string &result) const
MCAPI void * $ctor(::ResourceLocation const &archiveLocation, ::ContentIdentity const &contentIdentity, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider, ::IPackIOProvider const &io, ::Core::Path const &subPath, ::std::unique_ptr<::PackAccessStrategy > zipSubPack)
MCAPI void $forEachIn(::Core::Path const &packRelativePath, ::std::function< void(::Core::Path const &)> callback, bool recurseAnyways) const
MCAPI::PackAccessStrategyType $getStrategyType() const
MCAPI ZippedEncryptedFilesAccessStrategy(::ResourceLocation const &archiveLocation, ::ContentIdentity const &contentIdentity, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider, ::IPackIOProvider const &io, ::Core::Path const &subPath, ::std::unique_ptr<::PackAccessStrategy > zipSubPack)
MCAPI bool $hasFolder(::Core::Path const &packRelativePath) const
MCAPI ::std::vector<::Bedrock::Resources::PreloadedPathHandle > $_preloadSubFolders(::Core::Path const &packRelativePath) const
MCAPI bool $supportsSignatureVerification() const
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
static MCAPI bool isValidZippedEncryptedPack(::IPackIOProvider const &io, ::Core::Path const &pathToPack, ::ContentIdentity &contentIdentity, ::Core::Path const &subPath)
MCAPI::std::string $_getContentsFile()
MCAPI::std::string $_getRawContentsFile() const
MCAPI ::Core::PathBuffer<::std::string > const & $getSubPath() const
Definition EncryptedAssetInfo.h:5
Definition StreamableAssetSource.h:5
Definition Alias.h:14