LeviLamina
Loading...
Searching...
No Matches
PackManagerContentSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/models/ContentFlags.h"
7#include "mc/client/gui/screens/models/ContentSource.h"
8#include "mc/client/gui/screens/models/ContentType.h"
9#include "mc/client/gui/screens/models/PackListType.h"
10#include "mc/deps/core/file/PathBuffer.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12
13// auto generated forward declare list
14// clang-format off
18class Pack;
20struct ContentItem;
21struct PackContentItem;
23struct PackModel;
24// clang-format on
25
27public:
28 // PackManagerContentSource inner types define
29 using ConstPackContentItemPtr = ::std::shared_ptr<::PackContentItem const>;
30
31 using PackContentItemPtr = ::std::shared_ptr<::PackContentItem>;
32
33 using PackData = ::PackManagerContentSourceData;
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 8, ::ContentType const> mContentType;
39 ::ll::TypedStorage<8, 8, ::ContentFlags const> mFlags;
40 ::ll::TypedStorage<8, 24, ::std::vector<::PackManagerContentSourceData>> mPackData;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::PackContentItem>>> mPackDataContent;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IPackManagerContentQueries> const> mQueries;
43 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
44 ::ll::TypedStorage<8, 8, ::IPackManifestFactory&> mManifestFactory;
45 ::ll::TypedStorage<8, 8, ::PackSettingsFactory&> mSettingsFactory;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 PackManagerContentSource& operator=(PackManagerContentSource const&);
51 PackManagerContentSource(PackManagerContentSource const&);
52 PackManagerContentSource();
53
54public:
55 // virtual functions
56 // NOLINTBEGIN
57 virtual void load() /*override*/;
58
59 virtual void generateItems(::std::vector<::std::shared_ptr<::ContentItem>>& content) /*override*/;
60
61 virtual void
62 _createSelectedPackContentItems(::PackManagerContentSourceData& packData, ::std::vector<::PackModel>& selected);
63
64 virtual void
65 _createAvailablePackContentItems(::PackManagerContentSourceData& packData, ::std::vector<::PackModel>& available);
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI void _applySelectedPacksCache(
72 ::PackManagerContentSourceData& packData,
73 ::std::vector<::PackModel>& selected,
74 ::std::vector<::PackModel>& available
75 ) const;
76
77 MCAPI ::std::shared_ptr<::PackContentItem> _copyAndSetValuesFromPackContentItemAndData(
78 ::std::shared_ptr<::PackContentItem const> const& baseItem,
79 ::PackManagerContentSourceData const& packData
80 );
81
82 MCAPI ::std::shared_ptr<::PackContentItem> _createPackContentItem(
83 ::Pack const& pack,
84 ::PackModel& model,
85 ::PackListType listType,
86 uint64 position,
87 ::std::optional<::std::string> worldId,
88 ::std::optional<::Core::PathBuffer<::std::string>> worldPath
89 );
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCAPI void $load();
96
97 MCAPI void $generateItems(::std::vector<::std::shared_ptr<::ContentItem>>& content);
98
99 MCAPI void
100 $_createSelectedPackContentItems(::PackManagerContentSourceData& packData, ::std::vector<::PackModel>& selected);
101
102 MCAPI void
103 $_createAvailablePackContentItems(::PackManagerContentSourceData& packData, ::std::vector<::PackModel>& available);
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
Definition IContentKeyProvider.h:13
Definition IPackManagerContentQueries.h:5
Definition IPackManifestFactory.h:17
Definition PackSettingsFactory.h:24
Definition Pack.h:28
Definition ContentItem.h:5
Definition ContentSource.h:5
Definition PackContentItem.h:5
Definition PackManagerContentSourceData.h:5
Definition PackManagerContentSource.h:5
static MCAPI void ** $vftable()
Definition PackModel.h:5