LeviLamina
Loading...
Searching...
No Matches
Pack.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/PackOrigin.h"
8#include "mc/deps/core/resource/PackType.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10
11// auto generated forward declare list
12// clang-format off
13class ContentIdentity;
15class IPackIOProvider;
18class PackManifest;
19class PackMetadata;
20class PackReport;
24namespace Core { class Path; }
25namespace PackCommand { struct UpgradeLegacyDependencies; }
26// clang-format on
27
28class Pack {
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackManifest>> mManifest;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackAccessStrategy>> mAccessStrategy;
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SubpackInfoCollection>> mSubpackInfoStack;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackMetadata>> mMetadata;
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackCommand::UpgradeLegacyDependencies const>> mDependenciesUpgrade;
37 ::ll::TypedStorage<1, 1, uchar> mRevision;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 Pack();
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI Pack(
48 ::std::unique_ptr<::PackManifest> manifest,
49 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
50 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
51 ::std::unique_ptr<::PackMetadata> metadata
52 );
53
54 MCAPI void _loadLocalizationFiles();
55
56 MCFOLD ::PackAccessStrategy const* getAccessStrategy() const;
57
58 MCFOLD ::PackAccessStrategy* getAccessStrategy();
59
60 MCFOLD uchar getCurrentRevision() const;
61
62 MCFOLD ::PackManifest const& getManifest() const;
63
64 MCAPI ::Bedrock::NonOwnerPointer<::PackManifest const> const getManifestPtr() const;
65
66 MCFOLD ::SubpackInfoCollection const* getSubpackInfoStack() const;
67
68 MCAPI void move(::Pack&& pack);
69
70 MCAPI void setManifestPackCapabilitiesTrusted();
71
72 MCAPI void setManifestSourceIdentity(::ContentIdentity const& contentIdentity);
73
74#ifdef LL_PLAT_C
75 MCAPI void setManifestTitleLocked(bool titleLocked);
76#endif
77
78 MCAPI void upgradeLegacyDependencies(::std::unique_ptr<::PackCommand::UpgradeLegacyDependencies const> upgrade);
79
80 MCAPI ~Pack();
81 // NOLINTEND
82
83public:
84 // static functions
85 // NOLINTBEGIN
86#ifdef LL_PLAT_C
87 MCAPI static ::std::unique_ptr<::Pack> createPack(
88 ::ResourceLocation const& fileLocation,
89 ::PackType type,
90 ::PackOrigin origin,
91 ::IPackManifestFactory& manifestFactory,
93 ::PackSourceReport* report,
94 ::Core::Path const& zipSubDir
95 );
96#endif
97
98 MCAPI static ::std::unique_ptr<::Pack> createPack(
99 ::IPackIOProvider const& io,
100 ::ResourceLocation const& fileLocation,
101 ::PackType type,
102 ::PackOrigin origin,
103 ::IPackManifestFactory& manifestFactory,
105 ::PackSourceReport* report,
106 ::Core::Path const& zipSubDir
107 );
108
109 MCAPI static ::std::unique_ptr<::PackMetadata> createPackMetadata(
110 ::PackType type,
111 ::PackManifest& manifest,
112 ::PackAccessStrategy const& accessStrategy,
113 ::PackReport& report
114 );
115 // NOLINTEND
116
117public:
118 // static variables
119 // NOLINTBEGIN
120 MCAPI static ::Core::PathBuffer<::std::string> const& EDUCATION_METADATA_FILE();
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCAPI void* $ctor(
127 ::std::unique_ptr<::PackManifest> manifest,
128 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
129 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
130 ::std::unique_ptr<::PackMetadata> metadata
131 );
132 // NOLINTEND
133
134public:
135 // destructor thunk
136 // NOLINTBEGIN
137 MCAPI void $dtor();
138 // NOLINTEND
139};
Definition NonOwnerPointer.h:9
Definition ContentIdentity.h:8
Definition Path.h:12
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:15
Definition IPackManifestFactory.h:17
Definition PackAccessStrategy.h:26
Definition PackManifest.h:38
Definition PackMetadata.h:5
Definition PackReport.h:17
Definition PackSourceReport.h:11
Definition ResourceLocation.h:15
Definition SubpackInfoCollection.h:12
Definition UpgradeLegacyDependencies.h:7