Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
MigratiorStatus.hpp
1#pragma once
2
3#include <array>
4#include <cstddef>
5#include <string>
6
7namespace migration {
8
14public:
18 enum class Status { Migrated, NotMigrated, NotKnown, NumStatuses };
19
25 MigratorStatus(Status status) : status_(status)
26 {
27 }
28
35 bool
36 operator==(MigratorStatus const& other) const;
37
43 bool
44 operator==(Status const& other) const;
45
51 [[nodiscard]] std::string
52 toString() const;
53
60 static MigratorStatus
61 fromString(std::string const& statusStr);
62
63private:
64 static constexpr std::array<char const*, static_cast<size_t>(Status::NumStatuses)>
65 kStatusStrMap = {"Migrated", "NotMigrated", "NotKnown"};
66
67 Status status_;
68};
69} // namespace migration
The status of a migrator, it provides the helper functions to convert the status to string and vice v...
Definition MigratiorStatus.hpp:13
std::string toString() const
Convert the status to string.
Definition MigratorStatus.cpp:21
static MigratorStatus fromString(std::string const &statusStr)
Convert the string to status.
Definition MigratorStatus.cpp:27
Status
The status of a migrator.
Definition MigratiorStatus.hpp:18
MigratorStatus(Status status)
Construct a new Migrator Status object with the given status.
Definition MigratiorStatus.hpp:25
bool operator==(MigratorStatus const &other) const
Compare the status with another MigratorStatus.
Definition MigratorStatus.cpp:9