diff options
Diffstat (limited to 'cpp/src/qpid/framing/FieldValue.cpp')
-rw-r--r-- | cpp/src/qpid/framing/FieldValue.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/cpp/src/qpid/framing/FieldValue.cpp b/cpp/src/qpid/framing/FieldValue.cpp index 9107ceeeea..ecf469236d 100644 --- a/cpp/src/qpid/framing/FieldValue.cpp +++ b/cpp/src/qpid/framing/FieldValue.cpp @@ -109,10 +109,10 @@ bool FieldValue::operator==(const FieldValue& v) const *data == *v.data; } -StringValue::StringValue(const std::string& v) : +Str8Value::Str8Value(const std::string& v) : FieldValue( - 0xA4, - new VariableWidthValue<4>( + TYPE_CODE_STR8, + new VariableWidthValue<1>( reinterpret_cast<const uint8_t*>(v.data()), reinterpret_cast<const uint8_t*>(v.data()+v.size()))) { @@ -168,4 +168,13 @@ ArrayValue::ArrayValue(const Array& a) : FieldValue(0xaa, new EncodedValue<Array { } +void FieldValue::print(std::ostream& out) const { + data->print(out); + out << TypeCode(typeOctet) << '('; + if (data->convertsToString()) out << data->getString(); + else if (data->convertsToInt()) out << data->getInt(); + else data->print(out); + out << ')'; +} + }} |