9 #define epicsExportSharedSymbols 16 namespace epics {
namespace pvData {
23 m_statusType(type), m_message(message)
25 if (type == STATUSTYPE_OK)
26 throw std::invalid_argument(
"type == STATUSTYPE_OK");
29 Status::Status(StatusType type,
string const & message,
string const & stackDump) :
30 m_statusType(type), m_message(message), m_stackDump(stackDump)
32 if (type == STATUSTYPE_OK)
33 throw std::invalid_argument(
"type == STATUSTYPE_OK");
38 if(m_statusType < o.m_statusType) {
39 m_statusType = o.m_statusType;
40 m_message = o.m_message;
41 m_stackDump = o.m_stackDump;
65 if (typeCode == (
int8)-1)
85 o <<
"Status [type=" << Status::StatusTypeName[m_statusType];
86 if (!m_message.empty())
87 o <<
", message=" << m_message;
88 if (!m_stackDump.empty())
89 o <<
", stackDump=" << std::endl << m_stackDump;
void deserialize(ByteBuffer *buffer, DeserializableControl *flusher)
void dump(std::ostream &o) const
EPICS_ALWAYS_INLINE int8 getByte()
static std::string deserializeString(ByteBuffer *buffer, DeserializableControl *control)
pvd::StructureConstPtr type
TODO only here because of the Lockable.
Callback class for deserialization.
void serialize(ByteBuffer *buffer, SerializableControl *flusher) const
void maximize(const Status &o)
EPICS_ALWAYS_INLINE void putByte(int8 value)
This class implements a Bytebuffer that is like the java.nio.ByteBuffer.
static const char * StatusTypeName[]
static void serializeString(const std::string &value, ByteBuffer *buffer, SerializableControl *flusher)
virtual void ensureBuffer(std::size_t size)=0
Callback class for serialization.
virtual void ensureData(std::size_t size)=0