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
14class IPackIOProvider;
17class PackManifest;
18class PackMetadata;
19class PackReport;
23namespace Core { class Path; }
24namespace PackCommand { struct UpgradeLegacyDependencies; }
25// clang-format on
26
27class Pack {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackManifest>> mManifest;
32 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackAccessStrategy>> mAccessStrategy;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SubpackInfoCollection>> mSubpackInfoStack;
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackMetadata>> mMetadata;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackCommand::UpgradeLegacyDependencies const>> mDependenciesUpgrade;
36 ::ll::TypedStorage<1, 1, uchar> mRevision;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 Pack();
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI Pack(
47 ::std::unique_ptr<::PackManifest> manifest,
48 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
49 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
50 ::std::unique_ptr<::PackMetadata> metadata
51 );
52
53 MCAPI void _loadLocalizationFiles();
54
55 MCAPI void move(::Pack&& pack);
56
57 MCAPI void upgradeLegacyDependencies(::std::unique_ptr<::PackCommand::UpgradeLegacyDependencies const> upgrade);
58
59 MCAPI ~Pack();
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI_C static ::std::unique_ptr<::Pack> createPack(
66 ::ResourceLocation const& fileLocation,
67 ::PackType type,
68 ::PackOrigin origin,
69 ::IPackManifestFactory& manifestFactory,
71 ::PackSourceReport* report,
72 ::Core::Path const& zipSubDir
73 );
74
75 MCAPI static ::std::unique_ptr<::Pack> createPack(
76 ::IPackIOProvider const& io,
77 ::ResourceLocation const& fileLocation,
78 ::PackType type,
79 ::PackOrigin origin,
80 ::IPackManifestFactory& manifestFactory,
82 ::PackSourceReport* report,
83 ::Core::Path const& zipSubDir
84 );
85
86 MCAPI static ::std::unique_ptr<::PackMetadata> createPackMetadata(
87 ::PackType type,
88 ::PackManifest& manifest,
89 ::PackAccessStrategy const& accessStrategy,
90 ::PackReport& report
91 );
92 // NOLINTEND
93
94public:
95 // static variables
96 // NOLINTBEGIN
97 MCAPI static ::Core::PathBuffer<::std::string> const& EDUCATION_METADATA_FILE();
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor(
104 ::std::unique_ptr<::PackManifest> manifest,
105 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
106 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
107 ::std::unique_ptr<::PackMetadata> metadata
108 );
109 // NOLINTEND
110
111public:
112 // destructor thunk
113 // NOLINTBEGIN
114 MCAPI void $dtor();
115 // NOLINTEND
116};
Definition NonOwnerPointer.h:9
Definition Path.h:10
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:15
Definition IPackManifestFactory.h:17
Definition PackAccessStrategy.h:21
Definition PackManifest.h:37
Definition PackMetadata.h:5
Definition PackReport.h:16
Definition PackSourceReport.h:11
Definition ResourceLocation.h:15
Definition SubpackInfoCollection.h:11
Definition UpgradeLegacyDependencies.h:7