diff options
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp | 5 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/broker/amqp/NodeProperties.h | 1 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/broker/amqp/Session.cpp | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp b/qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp index eb30c78128..cc17d6e1a2 100644 --- a/qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp +++ b/qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp @@ -277,4 +277,9 @@ bool NodeProperties::trackControllingLink() const return lifetime == QueueSettings::DELETE_ON_CLOSE || lifetime == QueueSettings::DELETE_IF_EMPTY; } +const qpid::types::Variant::Map& NodeProperties::getProperties() const +{ + return properties; +} + }}} // namespace qpid::broker::amqp diff --git a/qpid/cpp/src/qpid/broker/amqp/NodeProperties.h b/qpid/cpp/src/qpid/broker/amqp/NodeProperties.h index 03780c10a9..8a759062c0 100644 --- a/qpid/cpp/src/qpid/broker/amqp/NodeProperties.h +++ b/qpid/cpp/src/qpid/broker/amqp/NodeProperties.h @@ -61,6 +61,7 @@ class NodeProperties : public qpid::amqp::MapReader std::string getExchangeType() const; std::string getAlternateExchange() const; bool trackControllingLink() const; + const qpid::types::Variant::Map& getProperties() const; private: bool queue; bool durable; diff --git a/qpid/cpp/src/qpid/broker/amqp/Session.cpp b/qpid/cpp/src/qpid/broker/amqp/Session.cpp index c0434afa47..99232d9f66 100644 --- a/qpid/cpp/src/qpid/broker/amqp/Session.cpp +++ b/qpid/cpp/src/qpid/broker/amqp/Session.cpp @@ -44,6 +44,7 @@ #include "qpid/framing/FieldTable.h" #include "qpid/framing/MessageTransferBody.h" #include "qpid/log/Statement.h" +#include "qpid/amqp_0_10/Codecs.h" #include <boost/intrusive_ptr.hpp> #include <boost/format.hpp> #include <map> @@ -215,6 +216,7 @@ Session::ResolvedNode Session::resolve(const std::string name, pn_terminus_t* te node.queue = connection.getBroker().createQueue(name, node.properties.getQueueSettings(), this, node.properties.getAlternateExchange(), connection.getUserId(), connection.getId()).first; } else { qpid::framing::FieldTable args; + qpid::amqp_0_10::translate(node.properties.getProperties(), args); node.exchange = connection.getBroker().createExchange(name, node.properties.getExchangeType(), node.properties.isDurable(), node.properties.getAlternateExchange(), args, connection.getUserId(), connection.getId()).first; } |
