3#include "mc/_HeaderOutputPredefine.h"
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"
29namespace Core {
class Path; }
31namespace Realms {
struct Content; }
32namespace Realms {
struct RealmId; }
33namespace mce {
class UUID; }
40 virtual ~IContentManagerFactory() =
default;
42 virtual ::std::unique_ptr<::WorldContentSource> createWorldContentSource()
const = 0;
44 virtual ::std::unique_ptr<::WorldTemplateSource> createWorldTemplateSource()
const = 0;
46 virtual ::std::unique_ptr<::InvalidResourceSource>
47 createInvalidResourceSource(::InvalidPacksFilterGroup
const&)
const = 0;
49 virtual ::std::unique_ptr<::ContentSource> createWorldPackManagerContentSource(
51 ::Core::PathBuffer<::std::string>,
53 ::std::vector<::PackManagerContentSourceData>&&,
54 ::std::weak_ptr<::CachedHostPackIdProvider>
57 virtual ::std::unique_ptr<::ContentSource> createRealmPackManagerContentSource(
60 ::std::vector<::PackManagerContentSourceData>&&
63 virtual ::std::unique_ptr<::ContentSource> createRealmsWorldPackManagerContentSource(
65 ::std::vector<::Realms::Content>&&,
67 ::std::vector<::PackManagerContentSourceData>&&
70 virtual ::std::unique_ptr<::ContentSource> createPackManagerContentSource(
73 ::std::vector<::PackManagerContentSourceData>&&
76 virtual ::PackSource* getInPackagePackSource(::PackType)
const = 0;
78 virtual ::PackSource* getDirectoryPackSource(::Core::Path
const&, ::PackType)
const = 0;
80 virtual ::PackSource& createDirectoryPackSource(::Core::Path
const&, ::PackType, ::PackOrigin)
const = 0;
82 virtual ::PackSource& createWorldTemplatePackSource(::mce::UUID
const&, ::PackType, ::PackOrigin)
const = 0;
84 virtual ::IContentCatalogPackSource&
85 createContentCatalogPackSource(::std::weak_ptr<::ContentManagerUtils::ISourcesAsyncReloader>&&,
bool)
const = 0;
87 virtual ::PackSource& createWorldHistoryPackSource(::Core::Path
const&, ::PackType)
const = 0;
89 virtual ::RealmsUnknownPackSources& getRealmsUnknownPackSources()
const = 0;
91 virtual ::std::unique_ptr<::Realms::RealmsServicePackSource> createRealmsServicePackSource(
94 ::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&&
97 virtual ::std::unique_ptr<::CompositePackSource> createCompositePackSource(::std::vector<::PackSource*>)
const = 0;
99 virtual bool allowsResourcePackDevelopment()
const = 0;
101 virtual ::Bedrock::NonOwnerPointer<::AppPlatform> getPlatform()
const = 0;
Definition CompositePackSource.h:16
Definition ISourcesAsyncReloader.h:7
Definition IContentCatalogPackSource.h:5
Definition IContentManagerFactory.h:5
Definition PackSource.h:28
Definition RealmsServicePackSource.h:18
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 WorldContentSource.h:5
Definition WorldTemplateSource.h:5