5 #include <nx/sdk/i_string.h> 10 enum class ErrorCode: int
15 internalError = -1000,
16 invalidParams = -1001,
25 m_errorCode(errorCode), m_errorMessage(errorMessage)
31 return m_errorCode == ErrorCode::noError && m_errorMessage ==
nullptr;
34 ErrorCode errorCode()
const {
return m_errorCode; }
35 const IString* errorMessage()
const {
return m_errorMessage; }
41 ErrorCode m_errorCode;
45 template<
typename Value>
49 Result(): m_error(ErrorCode::noError,
nullptr) {}
51 Result(Value value): m_error(ErrorCode::noError,
nullptr), m_value(std::move(value)) {}
57 m_error = std::move(error);
62 Result& operator=(Value value)
64 m_error =
Error{ErrorCode::noError,
nullptr};
69 bool isOk()
const {
return m_error.isOk(); }
71 const Error& error()
const {
return m_error; }
72 Value value()
const {
return m_value; }
83 Result(): m_error(ErrorCode::noError,
nullptr) {}
89 m_error = std::move(error);
93 bool isOk()
const {
return m_error.isOk(); }
95 const Error& error()
const {
return m_error; }
Definition: device_agent.h:13