LeviLamina
Loading...
Searching...
No Matches
PackSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/resource/PackOrigin.h"
7#include "mc/deps/core/resource/PackType.h"
8#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/platform/brstd/function_ref.h"
11
12// auto generated forward declare list
13// clang-format off
15class IPackIOProvider;
17class Pack;
20class TaskGroup;
21struct PackIdVersion;
25namespace PackCommand { struct UpgradeLegacyDependenciesBatch; }
26// clang-format on
27
28class PackSource : public ::Bedrock::EnableNonOwnerReferences {
29public:
30 // PackSource inner types declare
31 // clang-format off
32 struct PackTaskData;
34 class RequiredPackType;
36 // clang-format on
37
38 // PackSource inner types define
39 struct PackTaskData {
40 public:
41 // member variables
42 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 PackTaskData& operator=(PackTaskData const&);
52 PackTaskData(PackTaskData const&);
53 PackTaskData();
54
55 public:
56 // member functions
57 // NOLINTBEGIN
58 MCNAPI ~PackTaskData();
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCNAPI void $dtor();
65 // NOLINTEND
66 };
67
68 class RequiredPackOrigin {
69 public:
70 // member variables
71 // NOLINTBEGIN
73 // NOLINTEND
74
75 public:
76 // prevent constructor by default
77 RequiredPackOrigin& operator=(RequiredPackOrigin const&);
78 RequiredPackOrigin(RequiredPackOrigin const&);
79 RequiredPackOrigin();
80 };
81
82 class RequiredPackType {
83 public:
84 // member variables
85 // NOLINTBEGIN
87 // NOLINTEND
88
89 public:
90 // prevent constructor by default
91 RequiredPackType& operator=(RequiredPackType const&);
92 RequiredPackType(RequiredPackType const&);
93 RequiredPackType();
94 };
95
96 class RequiredResourceOrBehaviorPackType {
97 public:
98 // member variables
99 // NOLINTBEGIN
101 // NOLINTEND
102
103 public:
104 // prevent constructor by default
105 RequiredResourceOrBehaviorPackType& operator=(RequiredResourceOrBehaviorPackType const&);
106 RequiredResourceOrBehaviorPackType(RequiredResourceOrBehaviorPackType const&);
107 RequiredResourceOrBehaviorPackType();
108 };
109
110public:
111 // member variables
112 // NOLINTBEGIN
113 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IPackIOProvider>> const> mIO;
114 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
115 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::PackStorageContainer>>> mContainer;
116 // NOLINTEND
117
118public:
119 // prevent constructor by default
120 PackSource();
121
122public:
123 // virtual functions
124 // NOLINTBEGIN
125 virtual ~PackSource() = 0;
126
127 virtual void forEachPackShared(::brstd::function_ref<void(::gsl::not_null<::std::shared_ptr<::Pack>>)> callback);
128
129 virtual ::PackOrigin getPackOrigin() const;
130
131 virtual ::PackType getPackType() const;
132
133 virtual void _buildSourcesForLoad(::std::vector<::gsl::not_null<::PackSource*>>& sources);
134
135 virtual ::PackSourceLoadResult _loadImpl(::PackSourceLoadOptions&&) = 0;
136 // NOLINTEND
137
138public:
139 // member functions
140 // NOLINTBEGIN
141 MCAPI explicit PackSource(::PackSourceOptions options);
142
143 MCAPI_C void _addPack(::std::shared_ptr<::Pack> pack);
144
145 MCAPI ::PackSourceLoadResult _applyAndFinishLoadTask(::std::shared_ptr<::PackSource::PackTaskData> task);
146
147 MCAPI ::PackSourceLoadResult _createImmediateLoadResult();
148
149 MCAPI ::PackSourceLoadResult
150 _getTaskData(::brstd::function_ref<::PackSourceLoadResult(::std::shared_ptr<::PackSource::PackTaskData>)> task);
151
152 MCAPI bool _removePack(::brstd::function_ref<bool(::Pack const&)> predicate);
153
154 MCAPI ::PackSourceLoadResult _returnOriginalPacks(::std::shared_ptr<::PackSource::PackTaskData> task);
155
156 MCAPI_C ::std::shared_ptr<::Pack> fetchPack(::PackIdVersion const& packId);
157
158 MCAPI_C void forEachPack(::std::function<void(::Pack&)> callback);
159
160 MCAPI ::PackSourceReport load(
161 ::IPackManifestFactory& manifestFactory,
162 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider
163 );
164
165 MCAPI ::PackSourceLoadResult requestLoad(::PackSourceLoadOptions&& options);
166
167 MCAPI void
168 resolveUpgradeDependencies(::std::shared_ptr<::Pack> pack, ::PackCommand::UpgradeLegacyDependenciesBatch& commands);
169 // NOLINTEND
170
171public:
172 // constructor thunks
173 // NOLINTBEGIN
174 MCAPI void* $ctor(::PackSourceOptions options);
175 // NOLINTEND
176
177public:
178 // virtual function thunks
179 // NOLINTBEGIN
180 MCAPI void $forEachPackShared(::brstd::function_ref<void(::gsl::not_null<::std::shared_ptr<::Pack>>)> callback);
181
182 MCFOLD ::PackOrigin $getPackOrigin() const;
183
184 MCFOLD ::PackType $getPackType() const;
185
186 MCAPI void $_buildSourcesForLoad(::std::vector<::gsl::not_null<::PackSource*>>& sources);
187
188
189 // NOLINTEND
190
191public:
192 // vftables
193 // NOLINTBEGIN
194 MCNAPI static void** $vftable();
195 // NOLINTEND
196};
Definition EnableNonOwnerReferences.h:7
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:15
Definition IPackManifestFactory.h:17
Definition PackSourceReport.h:11
Definition PackSource.h:68
Definition PackSource.h:82
static MCAPI void ** $vftable()
Definition PackStorageContainer.h:9
Definition Pack.h:27
Definition TaskGroup.h:53
Definition function_ref.h:60
Definition UpgradeLegacyDependenciesBatch.h:7
Definition PackIdVersion.h:10
Definition PackSourceLoadOptions.h:5
Definition PackSourceLoadResult.h:5
Definition PackSourceOptions.h:5
Definition PackSource.h:39
Definition Alias.h:14