diff options
Diffstat (limited to 'cpp/src/qpid/broker/SemanticState.cpp')
-rw-r--r-- | cpp/src/qpid/broker/SemanticState.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp index 2251901340..c2f6e3c307 100644 --- a/cpp/src/qpid/broker/SemanticState.cpp +++ b/cpp/src/qpid/broker/SemanticState.cpp @@ -34,7 +34,7 @@ #include "TxPublish.h" #include "qpid/framing/reply_exceptions.h" #include "qpid/framing/MessageTransferBody.h" -#include "qpid/framing/Message010TransferBody.h" +#include "qpid/framing/MessageXTransferBody.h" #include "qpid/log/Statement.h" #include "qpid/ptr_map.h" @@ -351,10 +351,11 @@ void SemanticState::handle(intrusive_ptr<Message> msg) { void SemanticState::route(intrusive_ptr<Message> msg, Deliverable& strategy) { std::string exchangeName = msg->getExchangeName(); - if (msg->isA<MessageTransferBody>()) { + //TODO: the following should be hidden behind message (using MessageAdapter or similar) + if (msg->isA<MessageXTransferBody>()) { + msg->getProperties<PreviewDeliveryProperties>()->setExchange(exchangeName); + } else if (msg->isA<MessageTransferBody>()) { msg->getProperties<DeliveryProperties>()->setExchange(exchangeName); - } else if (msg->isA<Message010TransferBody>()) { - msg->getProperties<DeliveryProperties010>()->setExchange(exchangeName); } if (!cacheExchange || cacheExchange->getName() != exchangeName){ cacheExchange = session.getBroker().getExchanges().get(exchangeName); |