diff options
| author | Gordon Sim <gsim@apache.org> | 2007-01-18 14:14:54 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2007-01-18 14:14:54 +0000 |
| commit | 9d475223b8715e5522289108a9951e2f7c29ac29 (patch) | |
| tree | ffa09db273edd7dbe9da52cefa73177af56e82de /qpid/cpp | |
| parent | f661a2d89c4c79a609a1a29f1ee7f796df69a01e (diff) | |
| download | qpid-python-9d475223b8715e5522289108a9951e2f7c29ac29.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@497439 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/lib/common/framing/Value.cpp | 5 | ||||
| -rw-r--r-- | qpid/cpp/lib/common/framing/Value.h | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/qpid/cpp/lib/common/framing/Value.cpp b/qpid/cpp/lib/common/framing/Value.cpp index d193286636..9b1f3bbc94 100644 --- a/qpid/cpp/lib/common/framing/Value.cpp +++ b/qpid/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/qpid/cpp/lib/common/framing/Value.h b/qpid/cpp/lib/common/framing/Value.h index 6d240c2eb9..e7ae865a70 100644 --- a/qpid/cpp/lib/common/framing/Value.h +++ b/qpid/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 |
