LeviLamina
Loading...
Searching...
No Matches
DirectoryPackWithEncryptionAccessStrategy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/platform/Result.h"
8#include "mc/resources/PackAccessAssetGenerationResult.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;
16class IFileAccess;
17class IPackIOProvider;
20namespace Core { class Path; }
21namespace Core { class PathView; }
22// clang-format on
23
24class DirectoryPackWithEncryptionAccessStrategy : public ::PackAccessStrategy {
25public:
26 // member variables
27 // NOLINTBEGIN
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 DirectoryPackWithEncryptionAccessStrategy& operator=(DirectoryPackWithEncryptionAccessStrategy const&);
42 DirectoryPackWithEncryptionAccessStrategy(DirectoryPackWithEncryptionAccessStrategy const&);
43 DirectoryPackWithEncryptionAccessStrategy();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~DirectoryPackWithEncryptionAccessStrategy() /*override*/;
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::Path const& packRelativePath, bool trustedContentOnly, bool caseSensative) const
61 /*override*/;
62
63 virtual bool hasFolder(::Core::Path const& packRelativePath) const /*override*/;
64
65 virtual bool getAsset(::Core::Path const& packRelativePath, ::std::string& result, bool trustedContentOnly) const
66 /*override*/;
67
68 virtual void
69 forEachIn(::Core::Path const& packRelativePath, ::std::function<void(::Core::Path const&)> callback, bool) const
70 /*override*/;
71
72 virtual ::PackAccessStrategyType getStrategyType() const /*override*/;
73
74 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(::Core::Path const& subPath) const /*override*/;
75
76 virtual ::PackAccessAssetGenerationResult generateAssetSet() /*override*/;
77
78 virtual void unload() /*override*/;
79
80 virtual ::ContentIdentity readContentIdentity() const /*override*/;
81
82 virtual ::Bedrock::Result<::StreamableAssetSource>
83 getStreamableSource(::Core::Path const&, ::std::optional<::Core::PathView>) const /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
90 ::ResourceLocation const& packLocation,
91 ::ResourceLocation const& encryptedContentLocation,
92 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
93 ::IFileAccess& fileAccess,
94 ::IPackIOProvider const& io
95 );
96
97 MCNAPI bool _getUnencryptedAsset(::Core::Path const& packRelativePath, ::std::string& result) const;
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCNAPI void* $ctor(
104 ::ResourceLocation const& packLocation,
105 ::ResourceLocation const& encryptedContentLocation,
106 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
107 ::IFileAccess& fileAccess,
108 ::IPackIOProvider const& io
109 );
110 // NOLINTEND
111
112public:
113 // destructor thunk
114 // NOLINTBEGIN
115 MCNAPI void $dtor();
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCNAPI uint64 $getPackSize() const;
122
123 MCNAPI ::ResourceLocation const& $getPackLocation() const;
124
125 MCNAPI ::std::string const& $getPackName() const;
126
127 MCNAPI bool $isWritable() const;
128
129 MCNAPI bool $isTrusted() const;
130
131 MCNAPI bool $hasAsset(::Core::Path const& packRelativePath, bool trustedContentOnly, bool caseSensative) const;
132
133 MCNAPI bool $hasFolder(::Core::Path const& packRelativePath) const;
134
135 MCNAPI bool $getAsset(::Core::Path const& packRelativePath, ::std::string& result, bool trustedContentOnly) const;
136
137 MCNAPI void
138 $forEachIn(::Core::Path const& packRelativePath, ::std::function<void(::Core::Path const&)> callback, bool) const;
139
140 MCNAPI ::PackAccessStrategyType $getStrategyType() const;
141
142 MCNAPI ::std::unique_ptr<::PackAccessStrategy> $createSubPack(::Core::Path const& subPath) const;
143
144 MCNAPI ::PackAccessAssetGenerationResult $generateAssetSet();
145
146 MCNAPI void $unload();
147
148 MCNAPI ::ContentIdentity $readContentIdentity() const;
149
150 MCNAPI ::Bedrock::Result<::StreamableAssetSource>
151 $getStreamableSource(::Core::Path const&, ::std::optional<::Core::PathView>) const;
152
153
154 // NOLINTEND
155
156public:
157 // vftables
158 // NOLINTBEGIN
159 MCNAPI static void** $vftable();
160 // NOLINTEND
161};
Definition ContentIdentity.h:8
Definition PathView.h:19
Definition Path.h:12
MCAPI bool _getUnencryptedAsset(::Core::Path const &packRelativePath, ::std::string &result) const
MCAPI::std::string const & $getPackName() const
MCAPI ::Bedrock::Result<::StreamableAssetSource > $getStreamableSource(::Core::Path const &, ::std::optional<::Core::PathView >) const
MCAPI bool $getAsset(::Core::Path const &packRelativePath, ::std::string &result, bool trustedContentOnly) const
MCAPI::PackAccessAssetGenerationResult $generateAssetSet()
MCAPI bool $hasAsset(::Core::Path const &packRelativePath, bool trustedContentOnly, bool caseSensative) const
MCAPI::ContentIdentity $readContentIdentity() const
MCAPI DirectoryPackWithEncryptionAccessStrategy(::ResourceLocation const &packLocation, ::ResourceLocation const &encryptedContentLocation, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider, ::IFileAccess &fileAccess, ::IPackIOProvider const &io)
MCAPI ::std::unique_ptr<::PackAccessStrategy > $createSubPack(::Core::Path const &subPath) const
MCAPI void $forEachIn(::Core::Path const &packRelativePath, ::std::function< void(::Core::Path const &)> callback, bool) const
MCAPI void * $ctor(::ResourceLocation const &packLocation, ::ResourceLocation const &encryptedContentLocation, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider, ::IFileAccess &fileAccess, ::IPackIOProvider const &io)
MCAPI::ResourceLocation const & $getPackLocation() const
MCAPI::PackAccessStrategyType $getStrategyType() const
MCAPI bool $hasFolder(::Core::Path const &packRelativePath) const
Definition IContentKeyProvider.h:13
Definition IFileAccess.h:15
Definition IPackIOProvider.h:15
Definition ResourceLocation.h:15
Definition StreamableAssetSource.h:5
Definition Alias.h:14