summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/FieldValue.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-03-18 18:37:28 +0000
committerGordon Sim <gsim@apache.org>2010-03-18 18:37:28 +0000
commit53df223b3e2d08aed1bb70649c1f0269e0639f84 (patch)
tree3b6cb3d0b2a1ec005412d6ce4030fe1e738bf945 /cpp/src/qpid/framing/FieldValue.cpp
parent615cde45bd6415a6b562aeb6b2954c20c48aaed5 (diff)
downloadqpid-python-53df223b3e2d08aed1bb70649c1f0269e0639f84.tar.gz
QPID-2452: Fixed control over the encoding used when sending a string valued variant. The user is currently responsible for correctly setting any encoding (e.g. utf8). If none is specified it will be transfered as an amqp0-10 vbin. Fixed bug preventing correct assignment of encoding in variants.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@924939 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/framing/FieldValue.cpp')
-rw-r--r--cpp/src/qpid/framing/FieldValue.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/cpp/src/qpid/framing/FieldValue.cpp b/cpp/src/qpid/framing/FieldValue.cpp
index fd911645f4..ce5a50117c 100644
--- a/cpp/src/qpid/framing/FieldValue.cpp
+++ b/cpp/src/qpid/framing/FieldValue.cpp
@@ -130,6 +130,21 @@ Str16Value::Str16Value(const std::string& v) :
reinterpret_cast<const uint8_t*>(v.data()+v.size())))
{}
+Var16Value::Var16Value(const std::string& v, uint8_t code) :
+ FieldValue(
+ code,
+ new VariableWidthValue<2>(
+ reinterpret_cast<const uint8_t*>(v.data()),
+ reinterpret_cast<const uint8_t*>(v.data()+v.size())))
+{}
+Var32Value::Var32Value(const std::string& v, uint8_t code) :
+ FieldValue(
+ code,
+ new VariableWidthValue<4>(
+ reinterpret_cast<const uint8_t*>(v.data()),
+ reinterpret_cast<const uint8_t*>(v.data()+v.size())))
+{}
+
Struct32Value::Struct32Value(const std::string& v) :
FieldValue(
0xAB,