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