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 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 Pack();
41
42public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI Pack(
46 ::std::unique_ptr<::PackManifest> manifest,
47 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
48 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
49 ::std::unique_ptr<::PackMetadata> metadata
50 );
51
52 MCAPI void _loadLocalizationFiles();
53
54 MCAPI void move(::Pack&& pack);
55
56 MCAPI void upgradeLegacyDependencies(::std::unique_ptr<::PackCommand::UpgradeLegacyDependencies const> upgrade);
57
58 MCAPI ~Pack();
59 // NOLINTEND
60
61public:
62 // static functions
63 // NOLINTBEGIN
64 MCAPI static ::std::unique_ptr<::Pack> createPack(
65 ::IPackIOProvider const& io,
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<::PackMetadata> createPackMetadata(
76 ::PackType type,
77 ::PackManifest& manifest,
78 ::PackAccessStrategy const& accessStrategy,
79 ::PackReport& report
80 );
81 // NOLINTEND
82
83public:
84 // static variables
85 // NOLINTBEGIN
86 MCAPI static ::Core::PathBuffer<::std::string> const& EDUCATION_METADATA_FILE();
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCAPI void* $ctor(
93 ::std::unique_ptr<::PackManifest> manifest,
94 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
95 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
96 ::std::unique_ptr<::PackMetadata> metadata
97 );
98 // NOLINTEND
99
100public:
101 // destructor thunk
102 // NOLINTBEGIN
103 MCAPI void $dtor();
104 // NOLINTEND
105};
Definition NonOwnerPointer.h:9
Definition Path.h:11
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:15
Definition IPackManifestFactory.h:17
Definition PackAccessStrategy.h:20
Definition PackManifest.h:35
Definition PackMetadata.h:5
Definition PackReport.h:16
Definition PackSourceReport.h:5
Definition Pack.h:27
Definition Path.h:16
Definition ResourceLocation.h:14
Definition SubpackInfoCollection.h:5