LeviLamina
Loading...
Searching...
No Matches
PackAccessStrategy.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/resources/PackAccessAssetGenerationResult.h"
8#include "mc/resources/PackAccessStrategyType.h"
9
10// auto generated forward declare list
11// clang-format off
12class ContentIdentity;
14namespace Bedrock::Resources { class PreloadedPathHandle; }
15namespace Bedrock::Resources::Archive { class Reader; }
16namespace Core { class Path; }
17namespace Json { class Value; }
18// clang-format on
19
21public:
22 // member variables
23 // NOLINTBEGIN
26 // NOLINTEND
27
28public:
29 // prevent constructor by default
30 PackAccessStrategy& operator=(PackAccessStrategy const&);
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 // vIndex: 0
37 virtual ~PackAccessStrategy();
38
39 // vIndex: 1
40 virtual uint64 getPackSize() const = 0;
41
42 // vIndex: 2
43 virtual ::ResourceLocation const& getPackLocation() const = 0;
44
45 // vIndex: 3
46 virtual ::std::string const& getPackName() const = 0;
47
48 // vIndex: 4
49 virtual bool isWritable() const = 0;
50
51 // vIndex: 5
52 virtual bool isTrusted() const = 0;
53
54 // vIndex: 6
55 virtual bool hasAsset(::Core::Path const&, bool, bool) const = 0;
56
57 // vIndex: 7
58 virtual bool hasFolder(::Core::Path const&) const = 0;
59
60 // vIndex: 8
61 virtual bool getAsset(::Core::Path const&, ::std::string&, bool) const = 0;
62
63 // vIndex: 9
64 virtual void forEachIn(::Core::Path const&, ::std::function<void(::Core::Path const&)>, bool) const = 0;
65
66 // vIndex: 10
67 virtual void forEachInAssetSet(::Core::Path const&, ::std::function<void(::Core::Path const&)>) const;
68
69 // vIndex: 11
70 virtual ::PackAccessStrategyType getStrategyType() const = 0;
71
72 // vIndex: 12
73 virtual ::Core::PathBuffer<::std::string> const& getSubPath() const;
74
75 // vIndex: 13
76 virtual bool supportsSignatureVerification() const;
77
78 // vIndex: 14
79 virtual ::std::unique_ptr<::PackAccessStrategy> createSubPack(::Core::Path const&) const = 0;
80
81 // vIndex: 15
82 virtual ::PackAccessAssetGenerationResult generateAssetSet();
83
84 // vIndex: 16
85 virtual ::PackAccessAssetGenerationResult regenerateAssetSet();
86
87 // vIndex: 17
88 virtual bool canRecurse() const;
89
90 // vIndex: 18
91 virtual void unload() = 0;
92
93 // vIndex: 19
94 virtual ::ContentIdentity readContentIdentity() const;
95
96 // vIndex: 20
97 virtual bool isAssetExtractionViable() const;
98
99 // vIndex: 21
100 virtual ::std::unique_ptr<::Bedrock::Resources::Archive::Reader> _loadArchive(::Core::Path const&) const;
101 // NOLINTEND
102
103public:
104 // member functions
105 // NOLINTBEGIN
107
108 MCNAPI void _forEachInAssetSet(::std::function<void(::Core::Path const&)> callback) const;
109
111
112 MCNAPI ::Bedrock::Resources::PreloadedPathHandle preload(::Core::Path const& packRelativePath) const;
113 // NOLINTEND
114
115public:
116 // static variables
117 // NOLINTBEGIN
118 MCNAPI static ::Core::PathBuffer<::std::string> const& PACK_IMPORT_LOCK_FILE();
119 // NOLINTEND
120
121public:
122 // constructor thunks
123 // NOLINTBEGIN
124 MCNAPI void* $ctor();
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCNAPI void $dtor();
131 // NOLINTEND
132
133public:
134 // virtual function thunks
135 // NOLINTBEGIN
136 MCNAPI void $forEachInAssetSet(::Core::Path const&, ::std::function<void(::Core::Path const&)>) const;
137
138 MCNAPI ::Core::PathBuffer<::std::string> const& $getSubPath() const;
139
141
142 MCNAPI ::PackAccessAssetGenerationResult $generateAssetSet();
143
144 MCNAPI ::PackAccessAssetGenerationResult $regenerateAssetSet();
145
146 MCNAPI bool $canRecurse() const;
147
148 MCNAPI ::ContentIdentity $readContentIdentity() const;
149
150 MCNAPI bool $isAssetExtractionViable() const;
151
152 MCNAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader> $_loadArchive(::Core::Path const&) const;
153 // NOLINTEND
154
155public:
156 // vftables
157 // NOLINTBEGIN
158 MCNAPI static void** $vftable();
159 // NOLINTEND
160};
Definition ContentIdentity.h:8
Definition Path.h:17
Definition Value.h:16
Definition PackAccessStrategy.h:20
MCAPI::ContentIdentity $readContentIdentity() const
MCAPI bool $canRecurse() const
static MCAPI void ** $vftable()
MCAPI void * $ctor()
MCAPI void $forEachInAssetSet(::Core::Path const &, ::std::function< void(::Core::Path const &)>) const
MCAPI::Bedrock::Resources::PreloadedPathHandle preload(::Core::Path const &packRelativePath) const
MCAPI bool $isAssetExtractionViable() const
MCAPI ::Core::PathBuffer<::std::string > const & $getSubPath() const
MCAPI void $dtor()
MCAPI void _upgradeContentsFile(::Json::Value &root)
MCAPI bool $supportsSignatureVerification() const
MCAPI::PackAccessAssetGenerationResult $regenerateAssetSet()
MCAPI ::std::unique_ptr<::Bedrock::Resources::Archive::Reader > $_loadArchive(::Core::Path const &) const
MCAPI void _forEachInAssetSet(::std::function< void(::Core::Path const &)> callback) const
MCAPI::PackAccessAssetGenerationResult $generateAssetSet()
static MCAPI ::Core::PathBuffer<::std::string > const & PACK_IMPORT_LOCK_FILE()
MCAPI PackAccessStrategy()
Definition Path.h:16
Definition ResourceLocation.h:14
Definition Alias.h:14