LeviLamina
Loading...
Searching...
No Matches
PackSourceFactory.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/NonOwnerPointer.h"
9#include "mc/resources/RealmsUnknownPackSources.h"
10#include "mc/resources/interface/IPackSourceFactory.h"
11
12// auto generated forward declare list
13// clang-format off
16class IInPackagePacks;
17class IPackIOProvider;
20class Pack;
21class PackSource;
26struct PackIdVersion;
27namespace Core { class Path; }
28namespace PackCommand { class IPackCommandPipeline; }
29namespace Realms { class RealmsServicePackSource; }
30namespace mce { class UUID; }
31// clang-format on
32
33class PackSourceFactory : public ::IPackSourceFactory {
34public:
35 // PackSourceFactory inner types declare
36 // clang-format off
37 template<typename T0> struct SourcesList;
38 // clang-format on
39
40 // PackSourceFactory inner types define
41 template <typename T0>
42 struct SourcesList {};
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 104, ::PackSourceFactory::SourcesList<::std::unique_ptr<::TreatmentPackSource>>>
48 mTreatmentPackSources;
49 ::ll::TypedStorage<8, 104, ::PackSourceFactory::SourcesList<::std::unique_ptr<::DirectoryPackSource>>>
50 mDirectoryPackSources;
51 ::ll::TypedStorage<8, 104, ::PackSourceFactory::SourcesList<::std::unique_ptr<::InPackagePackSource>>>
52 mInPackagePackSources;
53 ::ll::TypedStorage<8, 104, ::PackSourceFactory::SourcesList<::std::unique_ptr<::WorldHistoryPackSource>>>
54 mWorldHistoryPackSources;
55 ::ll::TypedStorage<8, 104, ::PackSourceFactory::SourcesList<::std::unique_ptr<::WorldTemplatePackSource>>>
56 mWorldTemplatePackSources;
57 ::ll::TypedStorage<8, 16, ::RealmsUnknownPackSources> mRealmsUnknownPackSources;
58 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IInPackagePacks>> mInPackagePacksProvider;
59 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IPackIOProvider> const> mIO;
60 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PackCommand::IPackCommandPipeline>> mCommands;
61 // NOLINTEND
62
63public:
64 // prevent constructor by default
65 PackSourceFactory();
66
67public:
68 // virtual functions
69 // NOLINTBEGIN
70 virtual ~PackSourceFactory() /*override*/;
71
72#ifdef LL_PLAT_C
73 virtual ::TreatmentPackSource&
74 createTreatmentPackSource(::Core::Path const& path, ::PackType packType) /*override*/;
75
76 virtual ::TreatmentPackSource* getTreatmentPackSource(::Core::Path const& path, ::PackType packType) const
77 /*override*/;
78
79 virtual void removeFromTreatmentPackSource(::Core::Path const& fullPathToPack) /*override*/;
80
81#endif
82 virtual ::WorldTemplatePackSource& createWorldTemplatePackSource(
83 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager const> const& worldTemplateManager,
84 ::mce::UUID const& worldTemplateId,
85 ::PackType packType,
86 ::PackOrigin packOrigin
87 ) /*override*/;
88
89 virtual ::WorldTemplatePackSource& createWorldTemplatePackSource(
90 ::std::unique_ptr<::WorldTemplateCollectionView> view,
91 ::mce::UUID const& worldTemplateId,
92 ::PackType packType,
93 ::PackOrigin packOrigin
94 ) /*override*/;
95
96 virtual ::WorldTemplatePackSource*
97 getWorldTemplatePackSource(::mce::UUID const& worldTemplateId, ::PackType packType) const /*override*/;
98
99 virtual ::DirectoryPackSource& createDirectoryPackSource(
100 ::Core::Path const& path,
101 ::PackType packType,
102 ::PackOrigin packOrigin,
103 bool isDevDirectory
104 ) /*override*/;
105
106 virtual ::DirectoryPackSource* getDirectoryPackSource(::Core::Path const& path, ::PackType packType) const
107 /*override*/;
108
109 virtual ::InPackagePackSource& createInPackagePackSource(::PackType packType) /*override*/;
110
111 virtual ::InPackagePackSource* getInPackagePackSource(::PackType packType) /*override*/;
112
113 virtual ::WorldHistoryPackSource&
114 createWorldHistoryPackSource(::Core::Path const& pathToWorld, ::PackType packType) /*override*/;
115
116 virtual ::WorldHistoryPackSource*
117 getWorldHistoryPackSource(::Core::Path const& pathToWorld, ::PackType packType) const /*override*/;
118
119 virtual ::DirectoryPackSource* getDirectoryPackSourceContaining(::PackIdVersion const& packId) const /*override*/;
120
121 virtual void removeFromDirectoryPackSource(::Core::Path const& fullPathToPack) /*override*/;
122
123 virtual ::std::unique_ptr<::Realms::RealmsServicePackSource> createRealmsServicePackSource(
124 int64 realmId,
125 ::PackType packType,
126 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& servicePackData
127 ) /*override*/;
128
129 virtual ::std::unique_ptr<::CompositePackSource>
130 createCompositePackSource(::std::vector<::PackSource*> sources) /*override*/;
131 // NOLINTEND
132
133public:
134 // member functions
135 // NOLINTBEGIN
137 ::gsl::not_null<::std::shared_ptr<::IInPackagePacks> const> inPackagePacks,
138 ::std::unique_ptr<::IPackIOProvider> io,
139 ::Bedrock::NotNullNonOwnerPtr<::PackCommand::IPackCommandPipeline> commands
140 );
141
142 MCNAPI ::std::unique_ptr<::DirectoryPackSource> createOwnedDirectoryPackSource(
143 ::Core::Path const& path,
144 ::PackType packType,
145 ::PackOrigin packOrigin,
146 bool isDevDirectory
147 );
148 // NOLINTEND
149
150public:
151 // constructor thunks
152 // NOLINTBEGIN
153 MCNAPI void* $ctor(
154 ::gsl::not_null<::std::shared_ptr<::IInPackagePacks> const> inPackagePacks,
155 ::std::unique_ptr<::IPackIOProvider> io,
156 ::Bedrock::NotNullNonOwnerPtr<::PackCommand::IPackCommandPipeline> commands
157 );
158 // NOLINTEND
159
160public:
161 // destructor thunk
162 // NOLINTBEGIN
163 MCNAPI void $dtor();
164 // NOLINTEND
165
166public:
167 // virtual function thunks
168 // NOLINTBEGIN
169 MCNAPI ::WorldTemplatePackSource& $createWorldTemplatePackSource(
170 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager const> const& worldTemplateManager,
171 ::mce::UUID const& worldTemplateId,
172 ::PackType packType,
173 ::PackOrigin packOrigin
174 );
175
176 MCNAPI ::WorldTemplatePackSource& $createWorldTemplatePackSource(
177 ::std::unique_ptr<::WorldTemplateCollectionView> view,
178 ::mce::UUID const& worldTemplateId,
179 ::PackType packType,
180 ::PackOrigin packOrigin
181 );
182
183 MCNAPI ::WorldTemplatePackSource*
184 $getWorldTemplatePackSource(::mce::UUID const& worldTemplateId, ::PackType packType) const;
185
186 MCNAPI ::DirectoryPackSource& $createDirectoryPackSource(
187 ::Core::Path const& path,
188 ::PackType packType,
189 ::PackOrigin packOrigin,
190 bool isDevDirectory
191 );
192
193 MCNAPI ::DirectoryPackSource* $getDirectoryPackSource(::Core::Path const& path, ::PackType packType) const;
194
195 MCNAPI ::InPackagePackSource& $createInPackagePackSource(::PackType packType);
196
197 MCNAPI ::InPackagePackSource* $getInPackagePackSource(::PackType packType);
198
199 MCNAPI ::WorldHistoryPackSource&
200 $createWorldHistoryPackSource(::Core::Path const& pathToWorld, ::PackType packType);
201
202 MCNAPI ::WorldHistoryPackSource*
203 $getWorldHistoryPackSource(::Core::Path const& pathToWorld, ::PackType packType) const;
204
205 MCNAPI ::DirectoryPackSource* $getDirectoryPackSourceContaining(::PackIdVersion const& packId) const;
206
207 MCNAPI void $removeFromDirectoryPackSource(::Core::Path const& fullPathToPack);
208
209 MCNAPI ::std::unique_ptr<::Realms::RealmsServicePackSource> $createRealmsServicePackSource(
210 int64 realmId,
211 ::PackType packType,
212 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& servicePackData
213 );
214
215 MCNAPI ::std::unique_ptr<::CompositePackSource> $createCompositePackSource(::std::vector<::PackSource*> sources);
216
217#ifdef LL_PLAT_C
218 MCNAPI ::TreatmentPackSource& $createTreatmentPackSource(::Core::Path const& path, ::PackType packType);
219
220 MCNAPI ::TreatmentPackSource* $getTreatmentPackSource(::Core::Path const& path, ::PackType packType) const;
221
222 MCNAPI void $removeFromTreatmentPackSource(::Core::Path const& fullPathToPack);
223#endif
224
225
226 // NOLINTEND
227
228public:
229 // vftables
230 // NOLINTBEGIN
231 MCNAPI static void** $vftable();
232 // NOLINTEND
233};
Definition CompositePackSource.h:16
Definition Path.h:10
Definition DirectoryPackSource.h:20
Definition IInPackagePacks.h:8
Definition IPackIOProvider.h:15
Definition IPackSourceFactory.h:29
Definition IWorldTemplateManager.h:17
Definition InPackagePackSource.h:16
Definition IPackCommandPipeline.h:19
MCAPI void * $ctor(::gsl::not_null<::std::shared_ptr<::IInPackagePacks > const > inPackagePacks, ::std::unique_ptr<::IPackIOProvider > io, ::Bedrock::NotNullNonOwnerPtr<::PackCommand::IPackCommandPipeline > commands)
MCAPI void $removeFromDirectoryPackSource(::Core::Path const &fullPathToPack)
MCAPI::WorldHistoryPackSource & $createWorldHistoryPackSource(::Core::Path const &pathToWorld, ::PackType packType)
MCAPI ::std::unique_ptr<::DirectoryPackSource > createOwnedDirectoryPackSource(::Core::Path const &path, ::PackType packType, ::PackOrigin packOrigin, bool isDevDirectory)
MCAPI::WorldTemplatePackSource * $getWorldTemplatePackSource(::mce::UUID const &worldTemplateId, ::PackType packType) const
MCAPI::DirectoryPackSource * $getDirectoryPackSource(::Core::Path const &path, ::PackType packType) const
MCAPI PackSourceFactory(::gsl::not_null<::std::shared_ptr<::IInPackagePacks > const > inPackagePacks, ::std::unique_ptr<::IPackIOProvider > io, ::Bedrock::NotNullNonOwnerPtr<::PackCommand::IPackCommandPipeline > commands)
MCAPI ::std::unique_ptr<::Realms::RealmsServicePackSource > $createRealmsServicePackSource(int64 realmId, ::PackType packType, ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack > > > &&servicePackData)
MCAPI::InPackagePackSource * $getInPackagePackSource(::PackType packType)
MCAPI void $dtor()
MCAPI::WorldHistoryPackSource * $getWorldHistoryPackSource(::Core::Path const &pathToWorld, ::PackType packType) const
MCAPI::WorldTemplatePackSource & $createWorldTemplatePackSource(::std::unique_ptr<::WorldTemplateCollectionView > view, ::mce::UUID const &worldTemplateId, ::PackType packType, ::PackOrigin packOrigin)
MCAPI ::std::unique_ptr<::CompositePackSource > $createCompositePackSource(::std::vector<::PackSource * > sources)
MCAPI::DirectoryPackSource & $createDirectoryPackSource(::Core::Path const &path, ::PackType packType, ::PackOrigin packOrigin, bool isDevDirectory)
MCAPI::DirectoryPackSource * $getDirectoryPackSourceContaining(::PackIdVersion const &packId) const
MCAPI::InPackagePackSource & $createInPackagePackSource(::PackType packType)
MCAPI::WorldTemplatePackSource & $createWorldTemplatePackSource(::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager const > const &worldTemplateManager, ::mce::UUID const &worldTemplateId, ::PackType packType, ::PackOrigin packOrigin)
static MCAPI void ** $vftable()
Definition PackSource.h:25
Definition Pack.h:27
Definition RealmsServicePackSource.h:18
Definition TreatmentPackSource.h:16
Definition WorldHistoryPackSource.h:20
Definition WorldTemplateCollectionView.h:13
Definition WorldTemplatePackSource.h:20
Definition UUID.h:7
Definition PackIdVersion.h:10
Definition PackSourceFactory.h:42