diff options
| author | Carl C. Trieloff <cctrieloff@apache.org> | 2007-10-26 02:37:54 +0000 |
|---|---|---|
| committer | Carl C. Trieloff <cctrieloff@apache.org> | 2007-10-26 02:37:54 +0000 |
| commit | b19d20c0277ff20609f9f0774224accd5ff3e452 (patch) | |
| tree | c2842f576f8b8f7a1bfc30ad3165fb28116d7f95 /cpp/src/qpid/broker/ExchangeRegistry.cpp | |
| parent | 8863c11dabfec9fee5d398361250aa6b4a46e538 (diff) | |
| download | qpid-python-b19d20c0277ff20609f9f0774224accd5ff3e452.tar.gz | |
- added patch from Tedd
- QPID-660
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@588478 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/ExchangeRegistry.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/ExchangeRegistry.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/ExchangeRegistry.cpp b/cpp/src/qpid/broker/ExchangeRegistry.cpp index edc9a5b63b..ae1afe5abb 100644 --- a/cpp/src/qpid/broker/ExchangeRegistry.cpp +++ b/cpp/src/qpid/broker/ExchangeRegistry.cpp @@ -23,6 +23,7 @@ #include "FanOutExchange.h" #include "HeadersExchange.h" #include "TopicExchange.h" +#include "ManagementExchange.h" using namespace qpid::broker; using namespace qpid::sys; @@ -41,7 +42,7 @@ pair<Exchange::shared_ptr, bool> ExchangeRegistry::declare(const string& name, c RWlock::ScopedWlock locker(lock); ExchangeMap::iterator i = exchanges.find(name); if (i == exchanges.end()) { - Exchange::shared_ptr exchange; + Exchange::shared_ptr exchange; if(type == TopicExchange::typeName){ exchange = Exchange::shared_ptr(new TopicExchange(name, durable, args)); @@ -51,13 +52,15 @@ pair<Exchange::shared_ptr, bool> ExchangeRegistry::declare(const string& name, c exchange = Exchange::shared_ptr(new FanOutExchange(name, durable, args)); }else if (type == HeadersExchange::typeName) { exchange = Exchange::shared_ptr(new HeadersExchange(name, durable, args)); + }else if (type == ManagementExchange::typeName) { + exchange = Exchange::shared_ptr(new ManagementExchange(name, durable, args)); }else{ throw UnknownExchangeTypeException(); } - exchanges[name] = exchange; - return std::pair<Exchange::shared_ptr, bool>(exchange, true); + exchanges[name] = exchange; + return std::pair<Exchange::shared_ptr, bool>(exchange, true); } else { - return std::pair<Exchange::shared_ptr, bool>(i->second, false); + return std::pair<Exchange::shared_ptr, bool>(i->second, false); } } |
