diff options
| author | Ted Ross <tross@apache.org> | 2010-03-08 03:46:44 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2010-03-08 03:46:44 +0000 |
| commit | 82e5138dbf07c58944f18cf30824a0996b4d1824 (patch) | |
| tree | e8894758c5bf20eb3334fecf099bd0334d661d63 /cpp/src/qpid/broker/ExchangeRegistry.cpp | |
| parent | 5198e3474da92d82799446a4ccd183aa83d9a839 (diff) | |
| download | qpid-python-82e5138dbf07c58944f18cf30824a0996b4d1824.tar.gz | |
Added hooks in the broker for QMFv2 management of the broker.
Now both DirectExchange and TopicExchange have been subclassed so messages can be
redirected to the embedded management agent (in QMFv1, only the topic exchange was
subclassed this way).
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@920189 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/ExchangeRegistry.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/ExchangeRegistry.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/qpid/broker/ExchangeRegistry.cpp b/cpp/src/qpid/broker/ExchangeRegistry.cpp index f4a860fa1e..20fdc4164a 100644 --- a/cpp/src/qpid/broker/ExchangeRegistry.cpp +++ b/cpp/src/qpid/broker/ExchangeRegistry.cpp @@ -24,7 +24,8 @@ #include "qpid/broker/FanOutExchange.h" #include "qpid/broker/HeadersExchange.h" #include "qpid/broker/TopicExchange.h" -#include "qpid/management/ManagementExchange.h" +#include "qpid/management/ManagementDirectExchange.h" +#include "qpid/management/ManagementTopicExchange.h" #include "qpid/framing/reply_exceptions.h" using namespace qpid::broker; @@ -52,8 +53,10 @@ pair<Exchange::shared_ptr, bool> ExchangeRegistry::declare(const string& name, c exchange = Exchange::shared_ptr(new FanOutExchange(name, durable, args, parent, broker)); }else if (type == HeadersExchange::typeName) { exchange = Exchange::shared_ptr(new HeadersExchange(name, durable, args, parent, broker)); - }else if (type == ManagementExchange::typeName) { - exchange = Exchange::shared_ptr(new ManagementExchange(name, durable, args, parent, broker)); + }else if (type == ManagementDirectExchange::typeName) { + exchange = Exchange::shared_ptr(new ManagementDirectExchange(name, durable, args, parent, broker)); + }else if (type == ManagementTopicExchange::typeName) { + exchange = Exchange::shared_ptr(new ManagementTopicExchange(name, durable, args, parent, broker)); }else{ FunctionMap::iterator i = factory.find(type); if (i == factory.end()) { |
