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> mItemsFoundOnMarketplace;
62 ::ll::TypedStorage<4, 4, int> mItemsThumbnailsFetched;
63 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::GenericEntitlementChangeListener>> mEntitlementChangeListener;
64 // NOLINTEND
65
66public:
67 // prevent constructor by default
68 OwnedWorldTemplateManager& operator=(OwnedWorldTemplateManager const&);
69 OwnedWorldTemplateManager(OwnedWorldTemplateManager const&);
70 OwnedWorldTemplateManager();
71
72public:
73 // virtual functions
74 // NOLINTBEGIN
75 virtual ::std::optional<::World::DownloadWorldTemplateError> downloadWorldTemplate(
76 ::std::string const& id,
77 ::std::function<void(::std::optional<::World::DownloadWorldTemplateError>)> callback
78 ) /*override*/;
79
80 virtual void _templateDownloadedCallback(::std::string const& templateId, bool success) /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI OwnedWorldTemplateManager(
87 ::IStoreCatalogRepository& storeCatalogRepository,
88 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver> fileArchiver,
89 ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager> contentManager,
90 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
91 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> worldTemplateManager,
92 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
93 ::IResourcePackRepository& resourcePackRepository,
94 ::ResourcePackManager& resourcePackManager,
95 ::IMinecraftEventing& eventing,
96 ::IToastManager& toastManager,
97 ::IContentAcquisition& contentAquisition
98 );
99
100 MCAPI void _localWorldUpdateCallback(::std::pair<::std::string, bool> const& updatedTemplateData);
101
102 MCAPI ::std::vector<::std::string> _populateListWithLocalTemplates();
103
104 MCAPI void _populateListWithOwnedNonLocalTemplates(::std::vector<::std::string> const& localPremiumTemplates);
105
106 MCAPI void getMarketplaceIdFromLocalId(
107 ::std::string const& localId,
108 ::std::function<void(::std::optional<::std::string const>)> callback
109 );
110
111 MCFOLD ::std::vector<::World::OwnedWorldTemplateData> const& getOwnedTemplateDataList();
112
113 MCAPI void
114 importWorldTemplate(::std::function<void(::std::optional<::ImportFailure>, ::std::string const&)> callback);
115
116 MCAPI void isTemplateOwned(::std::string const& templateId, ::std::function<void(bool)> callback);
117
118 MCAPI void refresh();
119
120 MCFOLD ::Bedrock::PubSub::Subscription subscribeToRefresh(::std::function<void()> func);
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCAPI void* $ctor(
127 ::IStoreCatalogRepository& storeCatalogRepository,
128 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver> fileArchiver,
129 ::Bedrock::NotNullNonOwnerPtr<::ExternalContentManager> contentManager,
130 ::Bedrock::NotNullNonOwnerPtr<::IEntitlementManager> entitlementManager,
131 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> worldTemplateManager,
132 ::Bedrock::NotNullNonOwnerPtr<::AppPlatform> appPlatform,
133 ::IResourcePackRepository& resourcePackRepository,
134 ::ResourcePackManager& resourcePackManager,
135 ::IMinecraftEventing& eventing,
136 ::IToastManager& toastManager,
137 ::IContentAcquisition& contentAquisition
138 );
139 // NOLINTEND
140
141public:
142 // virtual function thunks
143 // NOLINTBEGIN
144 MCAPI ::std::optional<::World::DownloadWorldTemplateError> $downloadWorldTemplate(
145 ::std::string const& id,
146 ::std::function<void(::std::optional<::World::DownloadWorldTemplateError>)> callback
147 );
148
149 MCAPI void $_templateDownloadedCallback(::std::string const& templateId, bool success);
150 // NOLINTEND
151
152public:
153 // vftables
154 // NOLINTBEGIN
155 MCNAPI static void** $vftable();
156 // NOLINTEND
157};
158
159} // namespace World
Definition AppPlatform.h:91
Definition CatalogCollection.h:5
Definition ExternalContentManager.h:5
Definition FileArchiver.h:36
Definition IContentAcquisition.h:5
Definition IMinecraftEventing.h:138
Definition IResourcePackRepository.h:34
Definition IToastManager.h:5
Definition ImportContext.h:5
Definition ResourcePackManager.h:35
Definition WorldTemplateManager.h:22
Definition OwnedWorldTemplateManager.h:7
static MCAPI void ** $vftable()
Definition OwnedWorldTemplateData.h:7