Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
OwnedWorldTemplateManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/resources/ImportFailure.h"
7#include "mc/client/world/DownloadWorldTemplateError.h"
8#include "mc/client/world/DownloadableTemplateManagerBase.h"
9#include "mc/deps/core/file/PathBuffer.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/core/utility/pub_sub/Publisher.h"
12#include "mc/deps/core/utility/pub_sub/Subscription.h"
13
14// auto generated forward declare list
15// clang-format off
16class AppPlatform;
19class FileArchiver;
20class GenericEntitlementChangeListener;
22class IEntitlementManager;
25class IStoreCatalogRepository;
26class IToastManager;
27class ImportContext;
30namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
31namespace World { struct OwnedWorldTemplateData; }
32// clang-format on
33
34namespace World {
35
36class OwnedWorldTemplateManager : public ::World::DownloadableTemplateManagerBase {
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<
41 8,
42 16,
43 ::std::map<::std::string, ::std::function<void(::std::optional<::World::DownloadWorldTemplateError>)>>>
44 mDownloadCallbacks;
45 ::ll::TypedStorage<8, 8, ::IStoreCatalogRepository&> mStoreCatalogRepository;
46 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager>> mWorldTemplateManager;
47 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::FileArchiver>> mFileArchiver;
48 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager>> mContentManager;
49 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager>> mEntitlementManager;
50 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::AppPlatform>> mAppPlatform;
51 ::ll::TypedStorage<8, 128, ::Bedrock::PubSub::Publisher<void(), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
52 mRefreshPublishder;
53 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mTemplateManagerModificationSubscription;
54 ::ll::TypedStorage<8, 24, ::std::vector<::World::OwnedWorldTemplateData>> mOwnedTemplateDataList;
55 ::ll::TypedStorage<8, 24, ::std::vector<::World::OwnedWorldTemplateData>> mTemporaryOwnedTemplateDataList;
56 ::ll::TypedStorage<8, 64, ::std::function<void(::std::optional<::ImportFailure>, ::std::string const&)>>
57 mImportTemplateCallback;
58 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::CatalogCollection>> mCatalogCollection;
59 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ImportContext>> mImportContext;
60 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::Core::PathBuffer<::std::string>>> mCachedImagePaths;
61 ::ll::TypedStorage<4, 4, int> mItemsThumbnailsFetched;
62 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::GenericEntitlementChangeListener>> mEntitlementChangeListener;
63 // NOLINTEND
64
65public:
66 // prevent constructor by default
67 OwnedWorldTemplateManager& operator=(OwnedWorldTemplateManager const&);
68 OwnedWorldTemplateManager(OwnedWorldTemplateManager const&);
69 OwnedWorldTemplateManager();
70
71public:
72 // virtual functions
73 // NOLINTBEGIN
74 virtual ::std::optional<::World::DownloadWorldTemplateError> downloadWorldTemplate(
75 ::std::string const& id,
76 ::std::function<void(::std::optional<::World::DownloadWorldTemplateError>)> callback
77 ) /*override*/;
78
79 virtual void _templateDownloadedCallback(::std::string const& templateId, bool success) /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
86 ::IStoreCatalogRepository& storeCatalogRepository,
87 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver> fileArchiver,
88 ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager> contentManager,
89 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
90 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> worldTemplateManager,
91 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
92 ::IResourcePackRepository& resourcePackRepository,
93 ::ResourcePackManager& resourcePackManager,
94 ::IMinecraftEventing& eventing,
95 ::IToastManager& toastManager,
96 ::IContentAcquisition& contentAquisition
97 );
98
99 MCNAPI void _localWorldUpdateCallback(::std::pair<::std::string, bool> const& updatedTemplateData);
100
101 MCNAPI ::std::vector<::std::string> _populateListWithLocalTemplates();
102
103 MCNAPI void _populateListWithOwnedNonLocalTemplates(::std::vector<::std::string> const& localPremiumTemplates);
104
106 ::std::string const& localId,
107 ::std::function<void(::std::optional<::std::string const>)> callback
108 );
109
110 MCNAPI void
111 importWorldTemplate(::std::function<void(::std::optional<::ImportFailure>, ::std::string const&)> callback);
112
113 MCNAPI void isTemplateOwned(::std::string const& templateId, ::std::function<void(bool)> callback);
114
115 MCNAPI void refresh();
116 // NOLINTEND
117
118public:
119 // constructor thunks
120 // NOLINTBEGIN
121 MCNAPI void* $ctor(
122 ::IStoreCatalogRepository& storeCatalogRepository,
123 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver> fileArchiver,
124 ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager> contentManager,
125 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
126 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> worldTemplateManager,
127 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
128 ::IResourcePackRepository& resourcePackRepository,
129 ::ResourcePackManager& resourcePackManager,
130 ::IMinecraftEventing& eventing,
131 ::IToastManager& toastManager,
132 ::IContentAcquisition& contentAquisition
133 );
134 // NOLINTEND
135
136public:
137 // virtual function thunks
138 // NOLINTBEGIN
139 MCNAPI ::std::optional<::World::DownloadWorldTemplateError> $downloadWorldTemplate(
140 ::std::string const& id,
141 ::std::function<void(::std::optional<::World::DownloadWorldTemplateError>)> callback
142 );
143
144 MCNAPI void $_templateDownloadedCallback(::std::string const& templateId, bool success);
145 // NOLINTEND
146};
147
148} // namespace World
Definition AppPlatform.h:79
Definition CatalogCollection.h:5
Definition ExternalContentManager.h:5
Definition FileArchiver.h:35
Definition IContentAcquisition.h:5
Definition IMinecraftEventing.h:152
Definition IResourcePackRepository.h:36
Definition IToastManager.h:5
Definition ImportContext.h:5
Definition ResourcePackManager.h:29
Definition WorldTemplateManager.h:20
Definition OwnedWorldTemplateManager.h:7
MCAPI void $_templateDownloadedCallback(::std::string const &templateId, bool success)
MCAPI void importWorldTemplate(::std::function< void(::std::optional<::ImportFailure >, ::std::string const &)> callback)
MCAPI void getMarketplaceIdFromLocalId(::std::string const &localId, ::std::function< void(::std::optional<::std::string const >)> callback)
MCAPI void isTemplateOwned(::std::string const &templateId, ::std::function< void(bool)> callback)
MCAPI OwnedWorldTemplateManager(::IStoreCatalogRepository &storeCatalogRepository, ::Bedrock::NotNullNonOwnerPtr<::FileArchiver > fileArchiver, ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager > contentManager, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager > entitlementManager, ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager > worldTemplateManager, ::Bedrock::NotNullNonOwnerPtr<::AppPlatform > appPlatform, ::IResourcePackRepository &resourcePackRepository, ::ResourcePackManager &resourcePackManager, ::IMinecraftEventing &eventing, ::IToastManager &toastManager, ::IContentAcquisition &contentAquisition)
MCAPI ::std::vector<::std::string > _populateListWithLocalTemplates()
MCAPI void _localWorldUpdateCallback(::std::pair<::std::string, bool > const &updatedTemplateData)
MCAPI void * $ctor(::IStoreCatalogRepository &storeCatalogRepository, ::Bedrock::NotNullNonOwnerPtr<::FileArchiver > fileArchiver, ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager > contentManager, ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager > entitlementManager, ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager > worldTemplateManager, ::Bedrock::NotNullNonOwnerPtr<::AppPlatform > appPlatform, ::IResourcePackRepository &resourcePackRepository, ::ResourcePackManager &resourcePackManager, ::IMinecraftEventing &eventing, ::IToastManager &toastManager, ::IContentAcquisition &contentAquisition)
MCAPI void _populateListWithOwnedNonLocalTemplates(::std::vector<::std::string > const &localPremiumTemplates)
MCAPI ::std::optional<::World::DownloadWorldTemplateError > $downloadWorldTemplate(::std::string const &id, ::std::function< void(::std::optional<::World::DownloadWorldTemplateError >)> callback)
Definition OwnedWorldTemplateData.h:7