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