LeviLamina
Loading...
Searching...
No Matches
ExternalContentManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/resources/LoadImportedLevelData.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/resource/PackType.h"
9#include "mc/deps/core/resource/ResourceLocation.h"
10#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12
13// auto generated forward declare list
14// clang-format off
18class ImportContext;
19class LevelLoader;
25class SkinRepository;
26class TaskGroup;
28namespace Core { class Path; }
29// clang-format on
30
32public:
33 // ExternalContentManager inner types declare
34 // clang-format off
35 struct ImportRequestData;
36 struct LoadingContentData;
38 // clang-format on
39
40 // ExternalContentManager inner types define
41 struct ImportRequestData {
42 public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ImportContext>> mContext;
46 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string> const> mMcContentPath;
47 ::ll::TypedStorage<1, 1, bool> mFromTemp;
48 ::ll::TypedStorage<4, 4, ::LoadImportedLevelData> mLoadLevelData;
49 ::ll::TypedStorage<1, 1, bool> mTitleLocked;
50 ::ll::TypedStorage<8, 32, ::std::string> mLevelId;
51 // NOLINTEND
52 };
53
54 struct LoadingContentData {
55 public:
56 // member variables
57 // NOLINTBEGIN
58 ::ll::TypedStorage<1, 1, ::PackType> packType;
59 ::ll::TypedStorage<8, 56, ::ResourceLocation> packLocation;
60 // NOLINTEND
61 };
62
64
65 using Importer = ::std::function<void(
66 ::std::shared_ptr<::ImportContext>,
67 ::Core::PathBuffer<::std::string> const&,
68 bool,
69 ::LoadImportedLevelData,
70 bool,
71 bool
72 )>;
73
74public:
75 // member variables
76 // NOLINTBEGIN
77 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelLoader>> mLevelLoader;
78 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
79 ::ll::TypedStorage<8, 8, ::IResourcePackRepository&> mPackRepository;
80 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mPackManager;
81 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager>> mTemplateManager;
82 ::ll::TypedStorage<8, 8, ::PackManifestFactory&> mManifestFactory;
83 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
84 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SkinRepository>> mSkinRepository;
85 ::ll::TypedStorage<8, 8, ::PersonaRepository&> mPersonaRepository;
86 ::ll::TypedStorage<8, 8, ::PackSourceFactory&> mPackSourceFactory;
87 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager>> mResourceLoadManager;
88 ::ll::TypedStorage<1, 1, bool> mContentInTransit;
89 ::ll::TypedStorage<
90 8,
91 40,
92 ::std::queue<
93 ::ExternalContentManager::ImportRequestData,
94 ::std::deque<::ExternalContentManager::ImportRequestData>>>
95 mQueuedContent;
96 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mTempImportFolder;
97 ::ll::TypedStorage<
98 8,
99 64,
100 ::std::unordered_set<
101 ::ExternalContentManager::LoadingContentData,
102 ::ExternalContentManager::LoadingContentDataHasher,
103 ::std::equal_to<::ExternalContentManager::LoadingContentData>>>
104 mLoadingContent;
105 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
106 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ExternalContentManagerProxy>> mProxy;
107 ::ll::TypedStorage<8, 16, ::std::shared_ptr<void>> mExistence;
108 // NOLINTEND
109
110public:
111 // prevent constructor by default
112 ExternalContentManager& operator=(ExternalContentManager const&);
113 ExternalContentManager(ExternalContentManager const&);
114 ExternalContentManager();
115
116public:
117 // virtual functions
118 // NOLINTBEGIN
119 virtual ~ExternalContentManager() /*override*/ = default;
120
121 virtual void importContent(
122 ::std::shared_ptr<::ImportContext> context,
123 ::Core::PathBuffer<::std::string> const& mcContentPath,
124 bool fromTemp,
125 ::LoadImportedLevelData loadLevelData,
126 bool isSubcomponent,
127 bool isTitleLocked,
128 ::std::string const& levelId
129 );
130 // NOLINTEND
131
132public:
133 // member functions
134 // NOLINTBEGIN
135 MCAPI ExternalContentManager(
136 ::Bedrock::NotNullNonOwnerPtr<::LevelLoader> const& levelLoader,
137 ::IResourcePackRepository& packRepository,
138 ::ResourcePackManager& packManager,
139 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> const& templateManager,
140 ::PackManifestFactory& manifestFactory,
141 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
142 ::std::shared_ptr<::SkinRepository> skinRepo,
143 ::PersonaRepository& personaRepo,
144 ::PackSourceFactory& packSourceFactory,
145 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
146 bool isEditorModeEnabled
147 );
148
149 MCAPI void _importMCWorld(
150 ::std::shared_ptr<::ImportContext> context,
151 ::Core::Path const& mcWorldPath,
152 bool fromTemp,
153 ::LoadImportedLevelData loadLevelData,
154 ::std::string const& levelId
155 );
156
157 MCAPI void _packImportCompleted();
158 // NOLINTEND
159
160public:
161 // constructor thunks
162 // NOLINTBEGIN
163 MCAPI void* $ctor(
164 ::Bedrock::NotNullNonOwnerPtr<::LevelLoader> const& levelLoader,
165 ::IResourcePackRepository& packRepository,
166 ::ResourcePackManager& packManager,
167 ::Bedrock::NotNullNonOwnerPtr<::WorldTemplateManager> const& templateManager,
168 ::PackManifestFactory& manifestFactory,
169 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
170 ::std::shared_ptr<::SkinRepository> skinRepo,
171 ::PersonaRepository& personaRepo,
172 ::PackSourceFactory& packSourceFactory,
173 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
174 bool isEditorModeEnabled
175 );
176 // NOLINTEND
177
178public:
179 // virtual function thunks
180 // NOLINTBEGIN
181 MCAPI void $importContent(
182 ::std::shared_ptr<::ImportContext> context,
183 ::Core::PathBuffer<::std::string> const& mcContentPath,
184 bool fromTemp,
185 ::LoadImportedLevelData loadLevelData,
186 bool isSubcomponent,
187 bool isTitleLocked,
188 ::std::string const& levelId
189 );
190 // NOLINTEND
191};
Definition EnableNonOwnerReferences.h:7
Definition Path.h:11
Definition ExternalContentManagerProxy.h:5
Definition ExternalContentManager.h:5
Definition IContentKeyProvider.h:13
Definition IResourcePackRepository.h:35
Definition ImportContext.h:5
Definition LevelLoader.h:5
Definition PackManifestFactory.h:21
Definition PackSourceFactory.h:33
Definition PersonaRepository.h:5
Definition ResourceLoadManager.h:18
Definition ResourcePackManager.h:36
Definition SkinRepository.h:5
Definition TaskGroup.h:86
Definition WorldTemplateManager.h:21
Definition ExternalContentManager.h:15
Definition ExternalContentManager.h:19
Definition ExternalContentManager.h:17