5 #ifndef LODESTAR_STATUS_HPP
6 #define LODESTAR_STATUS_HPP
12 enum class StatusCode : int {
22 CommandExecutionException,
23 ConcurrentProcessError,
24 HardwareNotPresentError,
33 Status() : errorCode_(StatusCode::Ok)
36 Status(StatusCode errorCode) : errorCode_(errorCode)
39 Status(
const Status &other) : errorCode_(other.errorCode_)
46 inline bool ok()
const
48 return errorCode_ == StatusCode::Ok;
51 inline StatusCode code()
const
56 bool operator==(
const Status &s)
const;
58 bool operator!=(
const Status &s)
const
60 return !operator==(s);
63 std::string toString()
const;
66 StatusCode errorCode_;
70 std::string statusCodeToString(StatusCode code)
75 case StatusCode::InternalError:
76 return "InternalError";
77 case StatusCode::UnknownError:
78 return "UnknownError";
79 case StatusCode::NetworkError:
80 return "NetworkError";
81 case StatusCode::InvalidAddress:
82 return "InvalidAddress";
83 case StatusCode::NotInitializedError:
84 return "NotInitializedError";
85 case StatusCode::ResourceBusyError:
86 return "ResourceBusyError";
87 case StatusCode::SafetyViolationError:
88 return "SafetyViolationError";
89 case StatusCode::NotArmedError:
90 return "NotArmedError";
91 case StatusCode::CommandExecutionException:
92 return "CommandExecutionException";
93 case StatusCode::ConcurrentProcessError:
94 return "ConcurrentProcessError";
95 case StatusCode::HardwareNotPresentError:
96 return "HardwareNotPresentError";
97 case StatusCode::ControllerError:
98 return "ControllerError";
99 case StatusCode::RealtimeError:
100 return "RealtimeError";
101 case StatusCode::InvalidInputError:
102 return "InvalidInputError";
111 Status UnknownError();
113 Status InternalError();
118 #endif //LODESTAR_STATUS_HPP