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