summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/messaging/MapContent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/messaging/MapContent.cpp')
-rw-r--r--qpid/cpp/src/qpid/messaging/MapContent.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/messaging/MapContent.cpp b/qpid/cpp/src/qpid/messaging/MapContent.cpp
index 6dba22be99..1f190b85aa 100644
--- a/qpid/cpp/src/qpid/messaging/MapContent.cpp
+++ b/qpid/cpp/src/qpid/messaging/MapContent.cpp
@@ -37,6 +37,11 @@ class MapContentImpl : public Variant
}
}
+ MapContentImpl(Message& m, const Variant::Map& i) : Variant(i), msg(&m)
+ {
+ msg->getContent().clear();
+ }
+
void encode()
{
qpid::client::amqp0_10::MapCodec codec;
@@ -46,6 +51,7 @@ class MapContentImpl : public Variant
};
MapContent::MapContent(Message& m) : impl(new MapContentImpl(m)) {}
+MapContent::MapContent(Message& m, const Variant::Map& i) : impl(new MapContentImpl(m, i)) {}
MapContent::~MapContent() { delete impl; }
MapContent& MapContent::operator=(const MapContent& m) { *impl = *m.impl; return *this; }