20 namespace epics {
namespace pvData {
45 static const char* StatusTypeName[];
49 static inline Status warn(
const std::string& m) {
return Status(STATUSTYPE_WARNING, m); }
56 Status() :m_statusType(STATUSTYPE_OK) {}
66 Status(
StatusType type, std::string
const & message, std::string
const & stackDump);
80 inline const std::string&
getMessage()
const {
return m_message; }
86 inline const std::string&
getStackDump()
const {
return m_stackDump; }
96 return (m_statusType == STATUSTYPE_OK);
104 return (m_statusType == STATUSTYPE_OK || m_statusType == STATUSTYPE_WARNING);
107 #if __cplusplus>=201103L 113 typedef bool (
Status::*truth_type)()
const;
129 void maximize(
const Status& o);
140 void dump(std::ostream& o)
const;
145 std::string m_message;
146 std::string m_stackDump;
static Status warn(const std::string &m)
void dump(std::ostream &o) const
static Status error(const std::string &m)
Base class for serialization.
pvd::StructureConstPtr type
TODO only here because of the Lockable.
Mark external symbols and entry points for shared libraries.
Callback class for deserialization.
std::ostream & operator<<(std::ostream &o, const Field &f)
const std::string & getMessage() const
#define POINTER_DEFINITIONS(clazz)
static Status fatal(const std::string &m)
const std::string & getStackDump() const
FORCE_INLINE Status & operator|=(const Status &o)
short hand for "this->maximize(o)"
This class implements a Bytebuffer that is like the java.nio.ByteBuffer.
static const char * StatusTypeName[]
Callback class for serialization.
StatusType getType() const