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*/ = 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::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 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCNAPI void* $ctor(
102 ::ResourceLocation const& packLocation,
103 ::ResourceLocation const& encryptedContentLocation,
104 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
105 ::IFileAccess& fileAccess,
106 ::IPackIOProvider const& io
107 );
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCNAPI uint64 $getPackSize() const;
114
115 MCNAPI ::ResourceLocation const& $getPackLocation() const;
116
117 MCNAPI ::std::string const& $getPackName() const;
118
119 MCNAPI bool $isWritable() const;
120
121 MCNAPI bool $isTrusted() const;
122
123 MCNAPI bool $hasAsset(::Core::Path const& packRelativePath, bool trustedContentOnly, bool caseSensative) const;
124
125 MCNAPI bool $hasFolder(::Core::Path const& packRelativePath) const;
126
127 MCNAPI bool $getAsset(::Core::Path const& packRelativePath, ::std::string& result, bool trustedContentOnly) const;
128
129 MCNAPI void
130 $forEachIn(::Core::Path const& packRelativePath, ::std::function<void(::Core::Path const&)> callback, bool) const;
131
132 MCNAPI ::PackAccessStrategyType $getStrategyType() const;
133
134 MCNAPI ::std::unique_ptr<::PackAccessStrategy> $createSubPack(::Core::Path const& subPath) const;
135
136 MCNAPI ::PackAccessAssetGenerationResult $generateAssetSet();
137
138 MCNAPI void $unload();
139
140 MCNAPI ::ContentIdentity $readContentIdentity() const;
141
142 MCNAPI ::Bedrock::Result<::StreamableAssetSource>
143 $getStreamableSource(::Core::Path const&, ::std::optional<::Core::PathView>) const;
144
145
146 // NOLINTEND
147};
Definition ContentIdentity.h:8
Definition PathView.h:19
Definition Path.h:11
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:17
Definition ResourceLocation.h:15
Definition StreamableAssetSource.h:5
Definition Alias.h:14