LeviLamina
Loading...
Searching...
No Matches
IPackSourceFactory.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
11// auto generated forward declare list
12// clang-format off
17class Pack;
18class PackSource;
23struct PackIdVersion;
24namespace Core { class Path; }
25namespace Realms { class RealmsServicePackSource; }
26namespace mce { class UUID; }
27// clang-format on
28
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual ~IPackSourceFactory() /*override*/;
34
35#ifdef LL_PLAT_C
36 virtual ::TreatmentPackSource& createTreatmentPackSource(::Core::Path const& path, ::PackType packType) = 0;
37
38 virtual ::TreatmentPackSource* getTreatmentPackSource(::Core::Path const& path, ::PackType packType) const = 0;
39
40 virtual void removeFromTreatmentPackSource(::Core::Path const& fullPathToPack) = 0;
41
42#endif
43 virtual ::WorldTemplatePackSource& createWorldTemplatePackSource(
44 ::Bedrock::NotNullNonOwnerPtr<::IWorldTemplateManager const> const& worldTemplateManager,
45 ::mce::UUID const& worldTemplateId,
46 ::PackType packType,
47 ::PackOrigin packOrigin
48 ) = 0;
49
50 virtual ::WorldTemplatePackSource& createWorldTemplatePackSource(
51 ::std::unique_ptr<::WorldTemplateCollectionView> view,
52 ::mce::UUID const& worldTemplateId,
53 ::PackType packType,
54 ::PackOrigin packOrigin
55 ) = 0;
56
57 virtual ::WorldTemplatePackSource*
58 getWorldTemplatePackSource(::mce::UUID const& worldTemplateId, ::PackType packType) const = 0;
59
60 virtual ::DirectoryPackSource& createDirectoryPackSource(
61 ::Core::Path const& path,
62 ::PackType packType,
63 ::PackOrigin packOrigin,
64 bool isDevDirectory
65 ) = 0;
66
67 virtual ::DirectoryPackSource* getDirectoryPackSource(::Core::Path const& path, ::PackType packType) const = 0;
68
69 virtual ::InPackagePackSource& createInPackagePackSource(::PackType packType) = 0;
70
71 virtual ::InPackagePackSource* getInPackagePackSource(::PackType packType) = 0;
72
73 virtual ::WorldHistoryPackSource&
74 createWorldHistoryPackSource(::Core::Path const& pathToWorld, ::PackType packType) = 0;
75
76 virtual ::WorldHistoryPackSource*
77 getWorldHistoryPackSource(::Core::Path const& pathToWorld, ::PackType packType) const = 0;
78
79 virtual ::std::unique_ptr<::CompositePackSource>
80 createCompositePackSource(::std::vector<::PackSource*> sources) = 0;
81
82 virtual ::DirectoryPackSource* getDirectoryPackSourceContaining(::PackIdVersion const& packId) const = 0;
83
84 virtual void removeFromDirectoryPackSource(::Core::Path const& fullPathToPack) = 0;
85
86 virtual ::std::unique_ptr<::Realms::RealmsServicePackSource> createRealmsServicePackSource(
87 int64 realmId,
88 ::PackType packType,
89 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& servicePackData
90 ) = 0;
91 // NOLINTEND
92
93public:
94 // destructor thunk
95 // NOLINTBEGIN
96 MCNAPI void $dtor();
97 // NOLINTEND
98
99public:
100 // virtual function thunks
101 // NOLINTBEGIN
102
103 // NOLINTEND
104};
Definition EnableNonOwnerReferences.h:7
Definition CompositePackSource.h:16
Definition Path.h:17
Definition DirectoryPackSource.h:23
Definition IPackSourceFactory.h:29
MCAPI void $dtor()
Definition IWorldTemplateManager.h:17
Definition InPackagePackSource.h:16
Definition PackSource.h:28
Definition Pack.h:27
Definition RealmsServicePackSource.h:18
Definition TreatmentPackSource.h:16
Definition WorldHistoryPackSource.h:21
Definition WorldTemplateCollectionView.h:13
Definition WorldTemplatePackSource.h:21
Definition UUID.h:7
Definition PackIdVersion.h:10