diff options
Diffstat (limited to 'cpp/include/qpid/framing')
-rw-r--r-- | cpp/include/qpid/framing/FieldValue.h | 13 | ||||
-rw-r--r-- | cpp/include/qpid/framing/ProtocolVersion.h | 11 |
2 files changed, 20 insertions, 4 deletions
diff --git a/cpp/include/qpid/framing/FieldValue.h b/cpp/include/qpid/framing/FieldValue.h index 458de62fdf..e964da495a 100644 --- a/cpp/include/qpid/framing/FieldValue.h +++ b/cpp/include/qpid/framing/FieldValue.h @@ -175,11 +175,19 @@ class FixedWidthValue : public FieldValue::Data { return v; } uint8_t* rawOctets() { return octets; } - uint8_t* rawOctets() const { return octets; } + const uint8_t* rawOctets() const { return octets; } void print(std::ostream& o) const { o << "F" << width << ":"; }; }; +class UuidData : public FixedWidthValue<16> { + public: + UuidData(); + UuidData(const unsigned char* bytes); + bool convertsToString() const; + std::string getString() const; +}; + template <class T, int W> inline T FieldValue::getIntegerValue() const { @@ -356,7 +364,7 @@ class Var16Value : public FieldValue { class Var32Value : public FieldValue { public: QPID_COMMON_EXTERN Var32Value(const std::string& v, uint8_t code); -}; + }; class Struct32Value : public FieldValue { public: @@ -453,6 +461,7 @@ class ListValue : public FieldValue { class UuidValue : public FieldValue { public: + QPID_COMMON_EXTERN UuidValue(); QPID_COMMON_EXTERN UuidValue(const unsigned char*); }; diff --git a/cpp/include/qpid/framing/ProtocolVersion.h b/cpp/include/qpid/framing/ProtocolVersion.h index 26d628e41c..309e543516 100644 --- a/cpp/include/qpid/framing/ProtocolVersion.h +++ b/cpp/include/qpid/framing/ProtocolVersion.h @@ -36,21 +36,28 @@ class QPID_COMMON_CLASS_EXTERN ProtocolVersion private: uint8_t major_; uint8_t minor_; + uint8_t protocol_; public: - explicit ProtocolVersion(uint8_t _major=0, uint8_t _minor=0) - : major_(_major), minor_(_minor) {} + explicit ProtocolVersion(uint8_t _major=0, uint8_t _minor=0, uint8_t _protocol=0) + : major_(_major), minor_(_minor), protocol_(_protocol) {} QPID_COMMON_INLINE_EXTERN uint8_t getMajor() const { return major_; } QPID_COMMON_INLINE_EXTERN void setMajor(uint8_t major) { major_ = major; } QPID_COMMON_INLINE_EXTERN uint8_t getMinor() const { return minor_; } QPID_COMMON_INLINE_EXTERN void setMinor(uint8_t minor) { minor_ = minor; } + QPID_COMMON_INLINE_EXTERN uint8_t getProtocol() const { return protocol_; } + QPID_COMMON_INLINE_EXTERN void setProtocol(uint8_t protocol) { protocol_ = protocol; } QPID_COMMON_EXTERN const std::string toString() const; QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p); QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const; QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); } + QPID_COMMON_EXTERN static uint8_t AMQP; + QPID_COMMON_EXTERN static uint8_t LEGACY_AMQP; + QPID_COMMON_EXTERN static uint8_t TLS; + QPID_COMMON_EXTERN static uint8_t SASL; }; } // namespace framing |