Skip to content
LeviMC
English
AutoLightDark
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 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mIsBaseGameOverride;
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 Pack();
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCNAPI Pack(
53 ::I18n& loc,
54 ::std::unique_ptr<::PackManifest> manifest,
55 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
57 ::std::unique_ptr<::PackMetadata> metadata,
58 ::std::optional<bool> isBaseGameOverride
59 );
60
61 MCNAPI void move(::Pack&& pack);
62
63 MCNAPI void upgradeLegacyDependencies(::std::unique_ptr<::std::vector<::PackIdVersion> const> upgrade);
64
65 MCNAPI ~Pack();
66 // NOLINTEND
67
68public:
69 // static functions
70 // NOLINTBEGIN
71 MCNAPI static ::std::unique_ptr<::Pack> createPack(
72 ::IPackIOProvider const& io,
73 ::ResourceLocation const& fileLocation,
74 ::PackType type,
75 ::PackOrigin origin,
76 ::IPackManifestFactory& manifestFactory,
78 ::PackSourceReport* report,
79 ::Core::Path const& zipSubDir
80 );
81
82 MCNAPI static ::std::unique_ptr<::PackMetadata> createPackMetadata(
83 ::PackType type,
84 ::PackManifest& manifest,
85 ::PackAccessStrategy const& accessStrategy,
86 ::PackReport& report
87 );
88 // NOLINTEND
89
90public:
91 // static variables
92 // NOLINTBEGIN
93 MCNAPI static ::Core::PathBuffer<::std::string> const& EDUCATION_METADATA_FILE();
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCNAPI void* $ctor(
100 ::I18n& loc,
101 ::std::unique_ptr<::PackManifest> manifest,
102 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
104 ::std::unique_ptr<::PackMetadata> metadata,
105 ::std::optional<bool> isBaseGameOverride
106 );
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCNAPI void $dtor();
113 // NOLINTEND
114};
Definition NonOwnerPointer.h:9
Definition Path.h:10
Definition I18n.h:19
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:19
Definition IPackManifestFactory.h:17
Definition PackAccessStrategy.h:25
Definition PackManifest.h:39
Definition PackMetadata.h:5
Definition PackReport.h:17
Definition PackSourceReport.h:11
MCAPI void upgradeLegacyDependencies(::std::unique_ptr<::std::vector<::PackIdVersion > const > upgrade)
static MCAPI ::Core::PathBuffer<::std::string > const & EDUCATION_METADATA_FILE()
MCAPI ~Pack()
MCAPI void * $ctor(::I18n &loc, ::std::unique_ptr<::PackManifest > manifest, ::std::unique_ptr<::PackAccessStrategy > accessStrategy, ::SubpackInfoCollection subpacks, ::std::unique_ptr<::PackMetadata > metadata, ::std::optional< bool > isBaseGameOverride)
MCAPI void move(::Pack &&pack)
static MCAPI ::std::unique_ptr<::PackMetadata > createPackMetadata(::PackType type, ::PackManifest &manifest, ::PackAccessStrategy const &accessStrategy, ::PackReport &report)
MCAPI Pack(::I18n &loc, ::std::unique_ptr<::PackManifest > manifest, ::std::unique_ptr<::PackAccessStrategy > accessStrategy, ::SubpackInfoCollection subpacks, ::std::unique_ptr<::PackMetadata > metadata, ::std::optional< bool > isBaseGameOverride)
static MCAPI ::std::unique_ptr<::Pack > createPack(::IPackIOProvider const &io, ::ResourceLocation const &fileLocation, ::PackType type, ::PackOrigin origin, ::IPackManifestFactory &manifestFactory, ::Bedrock::NonOwnerPointer<::IContentKeyProvider const > keyProvider, ::PackSourceReport *report, ::Core::Path const &zipSubDir)
MCAPI void $dtor()
Definition ResourceLocation.h:15
Definition SubpackInfoCollection.h:11
Definition PackIdVersion.h:10