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/EnableNonOwnerReferences.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11
12// auto generated forward declare list
13// clang-format off
15class IPackIOProvider;
18class PackManifest;
19class PackMetadata;
20class PackReport;
24namespace Core { class Path; }
25namespace PackCommand { struct UpgradeLegacyDependencies; }
26// clang-format on
27
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<8, 16, ::std::map<void*, ::std::function<void(::Pack&)>>> mPackUpdatedCallbacks;
38 ::ll::TypedStorage<8, 16, ::std::map<void*, ::std::function<void(::Pack&)>>> mPackDeletedCallbacks;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 Pack();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 // vIndex: 0
49 virtual ~Pack() /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI Pack(
56 ::std::unique_ptr<::PackManifest> manifest,
57 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
58 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
59 ::std::unique_ptr<::PackMetadata> metadata
60 );
61
62 MCAPI void _loadLocalizationFiles();
63
64 MCAPI void move(::Pack&& pack);
65
66 MCAPI void upgradeLegacyDependencies(::std::unique_ptr<::PackCommand::UpgradeLegacyDependencies const> upgrade);
67 // NOLINTEND
68
69public:
70 // static functions
71 // NOLINTBEGIN
72 MCAPI static ::std::unique_ptr<::Pack> createPack(
73 ::IPackIOProvider const& io,
74 ::ResourceLocation const& fileLocation,
75 ::PackType type,
76 ::PackOrigin origin,
77 ::IPackManifestFactory& manifestFactory,
79 ::PackSourceReport* report,
80 ::Core::Path const& zipSubDir
81 );
82
83 MCAPI static ::std::unique_ptr<::PackMetadata> createPackMetadata(
84 ::PackType type,
85 ::PackManifest& manifest,
86 ::PackAccessStrategy const& accessStrategy,
87 ::PackReport& report
88 );
89 // NOLINTEND
90
91public:
92 // static variables
93 // NOLINTBEGIN
94 MCAPI static ::Core::PathBuffer<::std::string> const& EDUCATION_METADATA_FILE();
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(
101 ::std::unique_ptr<::PackManifest> manifest,
102 ::std::unique_ptr<::PackAccessStrategy> accessStrategy,
103 ::std::unique_ptr<::SubpackInfoCollection> subpacks,
104 ::std::unique_ptr<::PackMetadata> metadata
105 );
106 // NOLINTEND
107
108public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCAPI void $dtor();
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
117 MCNAPI static void** $vftable();
118 // NOLINTEND
119};
Definition EnableNonOwnerReferences.h:7
Definition NonOwnerPointer.h:9
Definition Path.h:17
Definition IContentKeyProvider.h:13
Definition IPackIOProvider.h:15
Definition IPackManifestFactory.h:14
Definition PackAccessStrategy.h:20
Definition PackManifest.h:31
Definition PackMetadata.h:5
Definition PackReport.h:16
Definition PackSourceReport.h:5
Definition Pack.h:28
static MCAPI void ** $vftable()
Definition Path.h:16
Definition ResourceLocation.h:14
Definition SubpackInfoCollection.h:5