LeviLamina
Loading...
Searching...
No Matches
WorldTemplateManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/resource/ResourceFileSystem.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/platform/brstd/move_only_function.h"
10#include "mc/resources/interface/IWorldTemplateManager.h"
11
12// auto generated forward declare list
13// clang-format off
15class IFileAccess;
16class Pack;
19struct PackIdVersion;
21namespace Bedrock::PubSub { class Subscription; }
22namespace Core { class FilePathManager; }
23namespace Core { class Path; }
24namespace mce { class UUID; }
25// clang-format on
26
28public:
29 // member variables
30 // NOLINTBEGIN
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 // vIndex: 0
61 virtual ~WorldTemplateManager() /*override*/;
62
63 // vIndex: 4
64 virtual void populateWorldTemplates() /*override*/;
65
66 // vIndex: 5
67 virtual uint64 getWorldTemplateSize() const /*override*/;
68
69 // vIndex: 6
70 virtual ::WorldTemplateInfo const& getWorldTemplateAtIndex(int index) const /*override*/;
71
72 // vIndex: 3
73 virtual ::std::vector<::std::unique_ptr<::WorldTemplateInfo>> const& getLocalTemplates() const /*override*/;
74
75 // vIndex: 1
76 virtual ::WorldTemplateInfo const*
77 findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const /*override*/;
78
79 // vIndex: 8
80 virtual ::WorldTemplateInfo const* findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const
81 /*override*/;
82
83 // vIndex: 7
84 virtual void deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity) /*override*/;
85
86 // vIndex: 2
87 virtual ::Bedrock::PubSub::Subscription registerModifiedCallback(
88 ::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction
89 ) /*override*/;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
96 ::PackManifestFactory& packManifestFactory,
97 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
98 ::PackSourceFactory& packSourceFactory,
99 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& filePathManager,
100 ::brstd::move_only_function<::Bedrock::NotNullNonOwnerPtr<::IFileAccess>(::ResourceFileSystem)>
101 fileAccessProvider,
102 bool initAsync
103 );
104
106 ::PackIdVersion const& packIdentity,
107 ::std::function<bool(::Core::Path const&)> deleteWorldCallback
108 );
109
110 MCNAPI void _initialize();
111
113
114 MCNAPI void _onDiscoverWorldTemplate(::Pack const& pack);
115
116 MCNAPI ::Core::PathBuffer<::std::string> getWorldTemplatesPath() const;
117
118 MCNAPI void sortWorldTemplates();
119 // NOLINTEND
120
121public:
122 // constructor thunks
123 // NOLINTBEGIN
124 MCNAPI void* $ctor(
125 ::PackManifestFactory& packManifestFactory,
126 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
127 ::PackSourceFactory& packSourceFactory,
128 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& filePathManager,
129 ::brstd::move_only_function<::Bedrock::NotNullNonOwnerPtr<::IFileAccess>(::ResourceFileSystem)>
130 fileAccessProvider,
131 bool initAsync
132 );
133 // NOLINTEND
134
135public:
136 // destructor thunk
137 // NOLINTBEGIN
138 MCNAPI void $dtor();
139 // NOLINTEND
140
141public:
142 // virtual function thunks
143 // NOLINTBEGIN
145
146 MCNAPI uint64 $getWorldTemplateSize() const;
147
148 MCNAPI ::WorldTemplateInfo const& $getWorldTemplateAtIndex(int index) const;
149
150 MCNAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo>> const& $getLocalTemplates() const;
151
152 MCNAPI ::WorldTemplateInfo const*
153 $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID> const& packUUIDs) const;
154
155 MCNAPI ::WorldTemplateInfo const* $findInstalledWorldTemplate(::PackIdVersion const& packIdentityToFind) const;
156
157 MCNAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const& packIdentity);
158
159 MCNAPI ::Bedrock::PubSub::Subscription
160 $registerModifiedCallback(::std::function<void(::std::pair<::std::string, bool> const&)> newCallbackFunction);
161 // NOLINTEND
162
163public:
164 // vftables
165 // NOLINTBEGIN
166 MCNAPI static void** $vftable();
167 // NOLINTEND
168};
Definition Path.h:17
Definition IContentKeyProvider.h:13
Definition IFileAccess.h:15
Definition IWorldTemplateManager.h:16
Definition PackManifestFactory.h:20
Definition PackSourceFactory.h:32
Definition Pack.h:28
Definition Path.h:16
Definition WorldTemplateManager.h:27
static MCAPI void ** $vftable()
MCAPI::WorldTemplateInfo const & $getWorldTemplateAtIndex(int index) const
MCAPI ::std::vector<::std::unique_ptr<::WorldTemplateInfo > > const & $getLocalTemplates() const
MCAPI void $deleteWorldTemplateAndFiles(::PackIdVersion const &packIdentity)
MCAPI void $populateWorldTemplates()
MCAPI void _initialize()
MCAPI void _deleteWorldTemplate(::PackIdVersion const &packIdentity, ::std::function< bool(::Core::Path const &)> deleteWorldCallback)
MCAPI void _onDiscoverWorldTemplate(::Pack const &pack)
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplate(::PackIdVersion const &packIdentityToFind) const
MCAPI void sortWorldTemplates()
MCAPI::Bedrock::PubSub::Subscription $registerModifiedCallback(::std::function< void(::std::pair<::std::string, bool > const &)> newCallbackFunction)
MCAPI void * $ctor(::PackManifestFactory &packManifestFactory, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider, ::PackSourceFactory &packSourceFactory, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager > const &filePathManager, ::brstd::move_only_function<::Bedrock::NotNullNonOwnerPtr<::IFileAccess >(::ResourceFileSystem)> fileAccessProvider, bool initAsync)
MCAPI WorldTemplateManager(::PackManifestFactory &packManifestFactory, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const > const &keyProvider, ::PackSourceFactory &packSourceFactory, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager > const &filePathManager, ::brstd::move_only_function<::Bedrock::NotNullNonOwnerPtr<::IFileAccess >(::ResourceFileSystem)> fileAccessProvider, bool initAsync)
MCAPI void $dtor()
MCAPI::WorldTemplateInfo const * $findInstalledWorldTemplateByUUID(::std::vector<::mce::UUID > const &packUUIDs) const
MCAPI ::Core::PathBuffer<::std::string > getWorldTemplatesPath() const
MCAPI uint64 $getWorldTemplateSize() const
MCAPI void _initializePackSources()
Definition move_only_function.h:9
Definition PackIdVersion.h:10
Definition WorldTemplateInfo.h:14
Definition Alias.h:14