summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-01-18 14:14:54 +0000
committerGordon Sim <gsim@apache.org>2007-01-18 14:14:54 +0000
commitfa872f23c8e980a0b9a069be115aaebcd09f74a4 (patch)
tree85b7c7793429be35be864da63948cc6e787c8b36 /cpp
parent553a5374ebca0fa86fe927e18a5288644508a50a (diff)
downloadqpid-python-fa872f23c8e980a0b9a069be115aaebcd09f74a4.tar.gz
Added the non-standard 'binary' type to the field table implementation to support the java client.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@497439 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/lib/common/framing/Value.cpp5
-rw-r--r--cpp/lib/common/framing/Value.h8
2 files changed, 13 insertions, 0 deletions
diff --git a/cpp/lib/common/framing/Value.cpp b/cpp/lib/common/framing/Value.cpp
index d193286636..9b1f3bbc94 100644
--- a/cpp/lib/common/framing/Value.cpp
+++ b/cpp/lib/common/framing/Value.cpp
@@ -85,6 +85,11 @@ std::auto_ptr<Value> Value::decode_value(Buffer& buffer)
case 'F':
value.reset(new FieldTableValue());
break;
+
+ //non-standard types, introduced in java client for JMS compliance
+ case 'x':
+ value.reset(new BinaryValue());
+ break;
default:
std::stringstream out;
out << "Unknown field table value type: " << type;
diff --git a/cpp/lib/common/framing/Value.h b/cpp/lib/common/framing/Value.h
index 6d240c2eb9..e7ae865a70 100644
--- a/cpp/lib/common/framing/Value.h
+++ b/cpp/lib/common/framing/Value.h
@@ -158,6 +158,14 @@ class EmptyValue : public Value {
virtual void print(std::ostream& out) const;
};
+//non-standard types, introduced in java client for JMS compliance
+class BinaryValue : public StringValue {
+ public:
+ BinaryValue(const std::string& v) : StringValue(v) {}
+ BinaryValue() {}
+ virtual char getType() const { return 'x'; }
+};
+
}} // qpid::framing
#endif