Class Status

Inheritance Relationships

Base Type

Class Documentation

class Status : public epics::pvData::Serializable

Status.

This is a class for returning status to clients.

Author

mse

Public Types

enum StatusType

Status type enum.

Values:

enumerator STATUSTYPE_OK

Operation completed successfully.

enumerator STATUSTYPE_WARNING

Operation completed successfully, but there is a warning message.

enumerator STATUSTYPE_ERROR

Operation failed due to an error.

enumerator STATUSTYPE_FATAL

Operation failed due to an unexpected error.

Public Functions

POINTER_DEFINITIONS(Status)
inline Status()

Creates OK status; STATUSTYPE_OK, empty message and stackDump.

Status(StatusType type, std::string const &message)

Create non-OK status.

Status(StatusType type, std::string const &message, std::string const &stackDump)

Create non-OK status.

inline virtual ~Status()
inline StatusType getType() const

Get status type.

Returns

status type, non-null.

inline const std::string &getMessage() const

Get error message describing an error. Required if error status.

Returns

error message.

inline const std::string &getStackDump() const

Get stack dump where error (exception) happened. Optional.

Returns

stack dump.

inline bool isOK() const

Convenient OK test. Same as (getType() == StatusType.OK). NOTE: this will return false on WARNING message although operation succeeded. To check if operation succeeded, use isSuccess.

See also

isSuccess()

Returns

OK status.

inline bool isSuccess() const

Check if operation succeeded (OK or WARNING).

Returns

operation success status.

inline FORCE_INLINE operator truth_type() const
void maximize(const Status &o)

override this Status if the other has higher StatusType

Status ret;
ret |= call1();
if(ret)
   ret |= call2();
return ret;

inline FORCE_INLINE Status & operator|= (const Status &o)

short hand for “this->maximize(o)”

virtual void serialize(ByteBuffer *buffer, SerializableControl *flusher) const

Serialize field into given buffer.

Parameters
  • buffer – serialization buffer.

  • flusher – flush interface.

virtual void deserialize(ByteBuffer *buffer, DeserializableControl *flusher)

Deserialize buffer.

Parameters
  • buffer – serialization buffer.

  • flusher – deserialization control.

void dump(std::ostream &o) const

Public Static Functions

static inline Status warn(const std::string &m)
static inline Status error(const std::string &m)
static inline Status fatal(const std::string &m)

Public Static Attributes

static const char *StatusTypeName[] = {"OK", "WARNING", "ERROR", "FATAL"}
static Status Ok