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
67 virtual ~PackManagerContentSource() /*override*/;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
73 MCAPI void _applySelectedPacksCache(
74 ::PackManagerContentSourceData& packData,
75 ::std::vector<::PackModel>& selected,
76 ::std::vector<::PackModel>& available
77 ) const;
78
79 MCAPI ::std::shared_ptr<::PackContentItem> _copyAndSetValuesFromPackContentItemAndData(
80 ::std::shared_ptr<::PackContentItem const> const& baseItem,
81 ::PackManagerContentSourceData const& packData
82 );
83
84 MCAPI ::std::shared_ptr<::PackContentItem> _createPackContentItem(
85 ::Pack const& pack,
86 ::PackModel& model,
87 ::PackListType listType,
88 uint64 position,
89 ::std::optional<::std::string> worldId,
90 ::std::optional<::Core::PathBuffer<::std::string>> worldPath
91 );
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCAPI void $dtor();
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCAPI void $load();
104
105 MCAPI void $generateItems(::std::vector<::std::shared_ptr<::ContentItem>>& content);
106
107 MCAPI void
108 $_createSelectedPackContentItems(::PackManagerContentSourceData& packData, ::std::vector<::PackModel>& selected);
109
110 MCAPI void
111 $_createAvailablePackContentItems(::PackManagerContentSourceData& packData, ::std::vector<::PackModel>& available);
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
117 MCNAPI static void** $vftable();
118 // NOLINTEND
119};
Definition IContentKeyProvider.h:13
Definition IPackManagerContentQueries.h:5
Definition IPackManifestFactory.h:17
Definition PackSettingsFactory.h:23
Definition Pack.h:27
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