summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/BrokerAdapter.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-07-09 10:07:26 +0000
committerGordon Sim <gsim@apache.org>2007-07-09 10:07:26 +0000
commitc4bf499790c30e0c98dd560c50c64c8a27fd9b89 (patch)
treec1f439bb86e32027c1aea5ec4e78f291737e8230 /cpp/src/qpid/broker/BrokerAdapter.h
parent32fe78d370e0572a5ed21ff3e84f668d8a2f2a49 (diff)
downloadqpid-python-c4bf499790c30e0c98dd560c50c64c8a27fd9b89.tar.gz
refactoring:
* separated out the connection level method handling from semantic level (session/channel level should also be separated) * reduce coupling between Connection and Channel git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@554590 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/BrokerAdapter.h')
-rw-r--r--cpp/src/qpid/broker/BrokerAdapter.h31
1 files changed, 4 insertions, 27 deletions
diff --git a/cpp/src/qpid/broker/BrokerAdapter.h b/cpp/src/qpid/broker/BrokerAdapter.h
index 01ece30cfa..c66bdb3a31 100644
--- a/cpp/src/qpid/broker/BrokerAdapter.h
+++ b/cpp/src/qpid/broker/BrokerAdapter.h
@@ -60,7 +60,6 @@ class BrokerAdapter : public CoreRefs, public framing::AMQP_ServerOperations
framing::ProtocolVersion getVersion() const;
ChannelHandler* getChannelHandler() { return &channelHandler; }
- ConnectionHandler* getConnectionHandler() { return &connectionHandler; }
BasicHandler* getBasicHandler() { return &basicHandler; }
ExchangeHandler* getExchangeHandler() { return &exchangeHandler; }
BindingHandler* getBindingHandler() { return &bindingHandler; }
@@ -81,35 +80,14 @@ class BrokerAdapter : public CoreRefs, public framing::AMQP_ServerOperations
DtxCoordinationHandler* getDtxCoordinationHandler() { return &dtxHandler; }
DtxDemarcationHandler* getDtxDemarcationHandler() { return &dtxHandler; }
+ ConnectionHandler* getConnectionHandler() {
+ throw ConnectionException(503, "Can't access connection class on non-zero channel!");
+ }
+
framing::AMQP_ClientProxy& getProxy() { return proxy; }
private:
- class ConnectionHandlerImpl :
- public ConnectionHandler,
- public HandlerImpl<framing::AMQP_ClientProxy::Connection>
- {
- public:
- ConnectionHandlerImpl(BrokerAdapter& parent) : HandlerImplType(parent) {}
-
- void startOk(const framing::MethodContext& context,
- const qpid::framing::FieldTable& clientProperties,
- const std::string& mechanism, const std::string& response,
- const std::string& locale);
- void secureOk(const framing::MethodContext& context,
- const std::string& response);
- void tuneOk(const framing::MethodContext& context,
- uint16_t channelMax,
- uint32_t frameMax, uint16_t heartbeat);
- void open(const framing::MethodContext& context,
- const std::string& virtualHost,
- const std::string& capabilities, bool insist);
- void close(const framing::MethodContext& context, uint16_t replyCode,
- const std::string& replyText,
- uint16_t classId, uint16_t methodId);
- void closeOk(const framing::MethodContext& context);
- };
-
class ChannelHandlerImpl :
public ChannelHandler,
public HandlerImpl<framing::AMQP_ClientProxy::Channel>
@@ -231,7 +209,6 @@ class BrokerAdapter : public CoreRefs, public framing::AMQP_ServerOperations
Connection& connection;
BasicHandlerImpl basicHandler;
ChannelHandlerImpl channelHandler;
- ConnectionHandlerImpl connectionHandler;
ExchangeHandlerImpl exchangeHandler;
BindingHandlerImpl bindingHandler;
MessageHandlerImpl messageHandler;