summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-01-12 12:02:38 +0000
committerGordon Sim <gsim@apache.org>2010-01-12 12:02:38 +0000
commitf47385682d2e9a82d007481e2c6d171a68dffa5f (patch)
tree272cc16ac4b05ce23aab1dd22fcd751c8dd6f3db /cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
parent0528688ee4f8831b05576e2448d0835d6375ee82 (diff)
downloadqpid-python-f47385682d2e9a82d007481e2c6d171a68dffa5f.tar.gz
QPID-664: Added some of the missing standard message headers. Added two new test utilities for sending and receiving with the new API (both still works in progress).
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@898296 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp')
-rw-r--r--cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp b/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
index e66dc5915c..669ffd7e9a 100644
--- a/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
+++ b/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
@@ -264,22 +264,32 @@ void IncomingMessages::MessageTransfer::retrieve(qpid::messaging::Message* messa
parent.retrieve(content, message);
}
+
+namespace {
+//TODO: unify conversion to and from 0-10 message that is currently
+//split between IncomingMessages and OutgoingMessage
+const std::string SUBJECT("subject");
+}
+
void populateHeaders(qpid::messaging::Message& message,
const DeliveryProperties* deliveryProperties,
const MessageProperties* messageProperties)
{
if (deliveryProperties) {
- message.setSubject(deliveryProperties->getRoutingKey());
- //TODO: convert other delivery properties
+ message.setTtl(deliveryProperties->getTtl());
+ message.setDurable(deliveryProperties->getDeliveryMode() == DELIVERY_MODE_PERSISTENT);
+ MessageImplAccess::get(message).redelivered = deliveryProperties->getRedelivered();
}
if (messageProperties) {
message.setContentType(messageProperties->getContentType());
if (messageProperties->hasReplyTo()) {
message.setReplyTo(AddressResolution::convert(messageProperties->getReplyTo()));
}
+ message.setSubject(messageProperties->getApplicationHeaders().getAsString(SUBJECT));
message.getHeaders().clear();
translate(messageProperties->getApplicationHeaders(), message.getHeaders());
- //TODO: convert other message properties
+ message.setCorrelationId(messageProperties->getCorrelationId());
+ message.setUserId(messageProperties->getUserId());
}
}