Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
StorageMigrator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/application/storage_migration/MigrationResult.h"
7
8// auto generated forward declare list
9// clang-format off
10class TaskResult;
11namespace Bedrock::StorageMigration { struct FoundFiles; }
12namespace Bedrock::StorageMigration { struct ManifestData; }
13// clang-format on
14
15namespace Bedrock::StorageMigration {
16
17class StorageMigrator : public ::std::enable_shared_from_this<::Bedrock::StorageMigration::StorageMigrator> {
18public:
19 // StorageMigrator inner types declare
20 // clang-format off
22 // clang-format on
23
24 // StorageMigrator inner types define
25 class MigrationProgress {
26 public:
27 // member variables
28 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 MigrationProgress& operator=(MigrationProgress const&);
42 MigrationProgress(MigrationProgress const&);
43 MigrationProgress();
44 };
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 virtual ~StorageMigrator() = default;
50
51 virtual bool doQuickCompletionCheck() = 0;
52
53 virtual void _runMigration(
54 ::std::shared_ptr<::Bedrock::StorageMigration::ManifestData>,
55 ::std::shared_ptr<::Bedrock::StorageMigration::FoundFiles>,
57 ::std::function<void(::Bedrock::StorageMigration::MigrationResult)>
58 ) = 0;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64#ifdef LL_PLAT_C
65 MCNAPI ::std::function<::TaskResult()> createMigrationTask(
66 ::std::shared_ptr<::Bedrock::StorageMigration::ManifestData> manifest,
67 ::std::shared_ptr<::Bedrock::StorageMigration::FoundFiles> filesToMigrate,
68 ::std::function<void(::Bedrock::StorageMigration::StorageMigrator::MigrationProgress)> progressCallback,
69 ::std::function<void(::Bedrock::StorageMigration::MigrationResult)> completeCallback
70 );
71#endif
72 // NOLINTEND
73};
74
75} // namespace Bedrock::StorageMigration
Definition StorageMigrator.h:17
Definition TaskResult.h:5
Definition FoundFiles.h:7
Definition ManifestData.h:7
Definition Alias.h:14