diff options
| author | Alan Conway <aconway@apache.org> | 2006-09-27 19:50:23 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2006-09-27 19:50:23 +0000 |
| commit | 3d9cd9a1f350c8970c6cd0da20d918b831342636 (patch) | |
| tree | 18178234a4807121b06f35a78c23dc2a33076da5 /qpid/cpp/broker/src/SessionHandlerImpl.cpp | |
| parent | cb3fe168a5c4c0c91b5d32ff28b176d57c8eb870 (diff) | |
| download | qpid-python-3d9cd9a1f350c8970c6cd0da20d918b831342636.tar.gz | |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@450556 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/broker/src/SessionHandlerImpl.cpp')
| -rw-r--r-- | qpid/cpp/broker/src/SessionHandlerImpl.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/qpid/cpp/broker/src/SessionHandlerImpl.cpp b/qpid/cpp/broker/src/SessionHandlerImpl.cpp index 2ce1c4b298..eb8f37030c 100644 --- a/qpid/cpp/broker/src/SessionHandlerImpl.cpp +++ b/qpid/cpp/broker/src/SessionHandlerImpl.cpp @@ -18,6 +18,8 @@ #include <iostream> #include "SessionHandlerImpl.h" #include "FanOutExchange.h" +#include "TopicExchange.h" +#include "HeadersExchange.h" #include "assert.h" using namespace std::tr1; @@ -223,7 +225,9 @@ void SessionHandlerImpl::ExchangeHandlerImpl::declare(u_int16_t channel, u_int16 if(!passive && ( type != TopicExchange::typeName && type != DirectExchange::typeName && - type != FanOutExchange::typeName) + type != FanOutExchange::typeName && + type != HeadersExchange::typeName + ) ) { throw ChannelException(540, "Exchange type not implemented: " + type); @@ -237,6 +241,8 @@ void SessionHandlerImpl::ExchangeHandlerImpl::declare(u_int16_t channel, u_int16 parent->exchanges->declare(new DirectExchange(exchange)); }else if(type == FanOutExchange::typeName){ parent->exchanges->declare(new DirectExchange(exchange)); + }else if (type == HeadersExchange::typeName) { + parent->exchanges->declare(new HeadersExchange(exchange)); } } parent->exchanges->getLock()->release(); |
