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 public:
46 // member functions
47 // NOLINTBEGIN
48#ifdef LL_PLAT_C
49 MCNAPI ~MigrationProgress();
50#endif
51 // NOLINTEND
52
53 public:
54 // destructor thunk
55 // NOLINTBEGIN
56#ifdef LL_PLAT_C
57 MCNAPI void $dtor();
58#endif
59 // NOLINTEND
60 };
61
62public:
63 // virtual functions
64 // NOLINTBEGIN
65 virtual ~StorageMigrator() = default;
66
67 virtual bool doQuickCompletionCheck() = 0;
68
69 virtual void _runMigration(
70 ::std::shared_ptr<::Bedrock::StorageMigration::ManifestData>,
71 ::std::shared_ptr<::Bedrock::StorageMigration::FoundFiles>,
73 ::std::function<void(::Bedrock::StorageMigration::MigrationResult)>
74 ) = 0;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80#ifdef LL_PLAT_C
81 MCNAPI ::std::function<::TaskResult()> createMigrationTask(
82 ::std::shared_ptr<::Bedrock::StorageMigration::ManifestData> manifest,
83 ::std::shared_ptr<::Bedrock::StorageMigration::FoundFiles> filesToMigrate,
84 ::std::function<void(::Bedrock::StorageMigration::StorageMigrator::MigrationProgress)> progressCallback,
85 ::std::function<void(::Bedrock::StorageMigration::MigrationResult)> completeCallback
86 );
87#endif
88 // NOLINTEND
89
90public:
91 // virtual function thunks
92 // NOLINTBEGIN
93
94 // NOLINTEND
95};
96
97} // namespace Bedrock::StorageMigration
Definition StorageMigrator.h:17
Definition TaskResult.h:5
Definition FoundFiles.h:7
Definition ManifestData.h:7
Definition Alias.h:14