LeviLamina
Loading...
Searching...
No Matches
DirectoryPackSource.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/threading/Async.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/resources/PackSource.h"
12
13// auto generated forward declare list
14// clang-format off
15class IPackIOProvider;
16class Pack;
20namespace Core { class Path; }
21namespace PackCommand { class IPackCommandPipeline; }
22// clang-format on
23
24class DirectoryPackSource : public ::PackSource {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mPath;
29 ::ll::TypedStorage<1, 1, ::PackType const> mPackType;
30 ::ll::TypedStorage<1, 1, ::PackOrigin const> mPackOrigin;
31 ::ll::TypedStorage<1, 1, bool> mDiscovered;
32 ::ll::TypedStorage<1, 1, bool const> mIsRediscoverable;
33 ::ll::TypedStorage<1, 1, bool const> mIsDevDirectory;
34 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline>> mCommands;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 DirectoryPackSource();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~DirectoryPackSource() /*override*/;
45
46 virtual ::PackOrigin getPackOrigin() const /*override*/;
47
48 virtual ::PackType getPackType() const /*override*/;
49
50 virtual ::PackSourceLoadResult _loadImpl(::PackSourceLoadOptions&& options) /*override*/;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI explicit DirectoryPackSource(::DirectoryPackSourceOptions options);
57
58#ifdef LL_PLAT_C
59 MCFOLD void addPack(::std::shared_ptr<::Pack>&& pack);
60
61 MCAPI ::Bedrock::Threading::Async<void> addPacks(::std::vector<::gsl::not_null<::std::shared_ptr<::Pack>>>&& packs);
62#endif
63
64 MCAPI void deleteAllPacksAndReset();
65
66#ifdef LL_PLAT_C
67 MCAPI bool isCopyable() const;
68#endif
69 // NOLINTEND
70
71public:
72 // static functions
73 // NOLINTBEGIN
74 MCAPI static void checkAndRemoveIncompletePacks(::Core::Path const& path);
75
76 MCAPI static void checkAndRemoveIncompletePacks(
77 ::Core::Path const& path,
78 ::IPackIOProvider const& io,
79 bool saveEncryptedWorldTemplatePacksAsZips
80 );
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor(::DirectoryPackSourceOptions options);
87 // NOLINTEND
88
89public:
90 // destructor thunk
91 // NOLINTBEGIN
92 MCAPI void $dtor();
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCFOLD ::PackOrigin $getPackOrigin() const;
99
100 MCFOLD ::PackType $getPackType() const;
101
102 MCAPI ::PackSourceLoadResult $_loadImpl(::PackSourceLoadOptions&& options);
103
104
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112};
Definition Path.h:12
static MCAPI void ** $vftable()
Definition IPackIOProvider.h:15
Definition IPackCommandPipeline.h:19
Definition Pack.h:28
Definition DirectoryPackSourceOptions.h:5
Definition PackSourceLoadOptions.h:5
Definition PackSourceLoadResult.h:5