LeviLamina
Loading...
Searching...
No Matches
IContentManagerFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/models/ContentFlags.h"
7#include "mc/client/gui/screens/models/ContentType.h"
8#include "mc/deps/core/file/PathBuffer.h"
9#include "mc/deps/core/resource/PackOrigin.h"
10#include "mc/deps/core/resource/PackType.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12
13// auto generated forward declare list
14// clang-format off
15class AppPlatform;
19class Pack;
20class PackSource;
21struct ContentSource;
28namespace ContentManagerUtils { class ISourcesAsyncReloader; }
29namespace Core { class Path; }
30namespace Realms { class RealmsServicePackSource; }
31namespace Realms { struct Content; }
32namespace Realms { struct RealmId; }
33namespace mce { class UUID; }
34// clang-format on
35
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~IContentManagerFactory() = default;
41
42 virtual ::std::unique_ptr<::WorldContentSource> createWorldContentSource() const = 0;
43
44 virtual ::std::unique_ptr<::WorldTemplateSource> createWorldTemplateSource() const = 0;
45
46 virtual ::std::unique_ptr<::InvalidResourceSource>
47 createInvalidResourceSource(::InvalidPacksFilterGroup const& filter) const = 0;
48
49 virtual ::std::unique_ptr<::ContentSource> createWorldPackManagerContentSource(
50 ::std::string const& worldID,
51 ::Core::PathBuffer<::std::string> worldPath,
52 ::ContentFlags flags,
53 ::std::vector<::PackManagerContentSourceData>&& data,
54 ::std::weak_ptr<::CachedHostPackIdProvider> provider
55 ) const = 0;
56
57 virtual ::std::unique_ptr<::ContentSource> createRealmPackManagerContentSource(
58 int64 realmID,
59 ::ContentFlags flags,
60 ::std::vector<::PackManagerContentSourceData>&& data
61 ) const = 0;
62
63 virtual ::std::unique_ptr<::ContentSource> createRealmsWorldPackManagerContentSource(
64 ::Realms::RealmId realmId,
65 ::std::vector<::Realms::Content>&& serviceAppliedContent,
66 ::ContentFlags flags,
67 ::std::vector<::PackManagerContentSourceData>&& data
68 ) const = 0;
69
70 virtual ::std::unique_ptr<::ContentSource> createPackManagerContentSource(
71 ::ContentType type,
72 ::ContentFlags flags,
73 ::std::vector<::PackManagerContentSourceData>&& data
74 ) const = 0;
75
76 virtual ::PackSource* getInPackagePackSource(::PackType type) const = 0;
77
78 virtual ::PackSource* getDirectoryPackSource(::Core::Path const& path, ::PackType type) const = 0;
79
80 virtual ::PackSource&
81 createDirectoryPackSource(::Core::Path const& path, ::PackType type, ::PackOrigin origin) const = 0;
82
83 virtual ::PackSource&
84 createWorldTemplatePackSource(::mce::UUID const& id, ::PackType type, ::PackOrigin origin) const = 0;
85
86 virtual ::IContentCatalogPackSource& createContentCatalogPackSource(
87 ::std::weak_ptr<::ContentManagerUtils::ISourcesAsyncReloader>&& weakSourcesAsyncReloader,
88 bool enabled
89 ) const = 0;
90
91 virtual ::PackSource& createWorldHistoryPackSource(::Core::Path const& path, ::PackType type) const = 0;
92
93 virtual ::RealmsUnknownPackSources& getRealmsUnknownPackSources() const = 0;
94
95 virtual ::std::unique_ptr<::Realms::RealmsServicePackSource> createRealmsServicePackSource(
96 int64 realmId,
97 ::PackType packType,
98 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& servicePackData
99 ) const = 0;
100
101 virtual ::std::unique_ptr<::CompositePackSource>
102 createCompositePackSource(::std::vector<::PackSource*> sources) const = 0;
103
104 virtual bool allowsResourcePackDevelopment() const = 0;
105
106 virtual ::Bedrock::NonOwnerPointer<::AppPlatform> getPlatform() const = 0;
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112
113 // NOLINTEND
114};
Definition AppPlatform.h:91
Definition CachedHostPackIdProvider.h:5
Definition CompositePackSource.h:16
Definition ISourcesAsyncReloader.h:7
Definition Path.h:17
Definition IContentCatalogPackSource.h:5
Definition IContentManagerFactory.h:5
Definition PackSource.h:28
Definition Pack.h:27
Definition RealmsServicePackSource.h:18
Definition UUID.h:7
Definition ContentSource.h:5
Definition InvalidPacksFilterGroup.h:5
Definition InvalidResourceSource.h:5
Definition PackManagerContentSourceData.h:5
Definition RealmsUnknownPackSources.h:5
Definition Content.h:7
Definition RealmId.h:7
Definition WorldContentSource.h:5
Definition WorldTemplateSource.h:5