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;
18class Pack;
19class 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&) const = 0;
48
49 virtual ::std::unique_ptr<::ContentSource> createWorldPackManagerContentSource(
50 ::std::string const&,
51 ::Core::PathBuffer<::std::string>,
52 ::ContentFlags,
53 ::std::vector<::PackManagerContentSourceData>&&,
54 ::std::weak_ptr<::CachedHostPackIdProvider>
55 ) const = 0;
56
57 virtual ::std::unique_ptr<::ContentSource> createRealmPackManagerContentSource(
58 int64,
59 ::ContentFlags,
60 ::std::vector<::PackManagerContentSourceData>&&
61 ) const = 0;
62
63 virtual ::std::unique_ptr<::ContentSource> createRealmsWorldPackManagerContentSource(
64 ::Realms::RealmId,
65 ::std::vector<::Realms::Content>&&,
66 ::ContentFlags,
67 ::std::vector<::PackManagerContentSourceData>&&
68 ) const = 0;
69
70 virtual ::std::unique_ptr<::ContentSource> createPackManagerContentSource(
71 ::ContentType,
72 ::ContentFlags,
73 ::std::vector<::PackManagerContentSourceData>&&
74 ) const = 0;
75
76 virtual ::PackSource* getInPackagePackSource(::PackType) const = 0;
77
78 virtual ::PackSource* getDirectoryPackSource(::Core::Path const&, ::PackType) const = 0;
79
80 virtual ::PackSource& createDirectoryPackSource(::Core::Path const&, ::PackType, ::PackOrigin) const = 0;
81
82 virtual ::PackSource& createWorldTemplatePackSource(::mce::UUID const&, ::PackType, ::PackOrigin) const = 0;
83
84 virtual ::IContentCatalogPackSource&
85 createContentCatalogPackSource(::std::weak_ptr<::ContentManagerUtils::ISourcesAsyncReloader>&&, bool) const = 0;
86
87 virtual ::PackSource& createWorldHistoryPackSource(::Core::Path const&, ::PackType) const = 0;
88
89 virtual ::RealmsUnknownPackSources& getRealmsUnknownPackSources() const = 0;
90
91 virtual ::std::unique_ptr<::Realms::RealmsServicePackSource> createRealmsServicePackSource(
92 int64,
93 ::PackType,
94 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&&
95 ) const = 0;
96
97 virtual ::std::unique_ptr<::CompositePackSource> createCompositePackSource(::std::vector<::PackSource*>) const = 0;
98
99 virtual bool allowsResourcePackDevelopment() const = 0;
100
101 virtual ::Bedrock::NonOwnerPointer<::AppPlatform> getPlatform() const = 0;
102 // NOLINTEND
103
104public:
105 // virtual function thunks
106 // NOLINTBEGIN
107
108 // NOLINTEND
109};
Definition AppPlatform.h:90
Definition CompositePackSource.h:16
Definition ISourcesAsyncReloader.h:7
Definition Path.h:10
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 CachedHostPackIdProvider.h:5
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