From 2f6d6ad7efd788b71204af67dff51b6233881e2e Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Fri, 21 Sep 2007 18:26:37 +0000 Subject: Split broker::Session into: broker::SessionState: session info (uuid etc.) + handler chains. broker::SemanticState: session state for the SemanticHandler. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@578219 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/SemanticHandler.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'cpp/src/qpid/broker/SemanticHandler.h') diff --git a/cpp/src/qpid/broker/SemanticHandler.h b/cpp/src/qpid/broker/SemanticHandler.h index 4b3a05ba19..d6dbf878c9 100644 --- a/cpp/src/qpid/broker/SemanticHandler.h +++ b/cpp/src/qpid/broker/SemanticHandler.h @@ -44,13 +44,17 @@ class AMQHeaderBody; namespace broker { -class Session; +class SessionState; class SemanticHandler : public DeliveryAdapter, - public framing::FrameHandler, - public framing::AMQP_ServerOperations::ExecutionHandler, - private HandlerImpl + public framing::FrameHandler, + public framing::AMQP_ServerOperations::ExecutionHandler + { + SemanticState state; + SessionState& session; + // FIXME aconway 2007-09-20: Why are these on the handler rather than the + // state? IncomingExecutionContext incoming; framing::Window outgoing; sys::Mutex outLock; @@ -69,8 +73,12 @@ class SemanticHandler : public DeliveryAdapter, DeliveryId deliver(Message::shared_ptr& msg, DeliveryToken::shared_ptr token); void redeliver(Message::shared_ptr& msg, DeliveryToken::shared_ptr token, DeliveryId tag); + framing::AMQP_ClientProxy& getProxy() { return session.getProxy(); } + Connection& getConnection() { return session.getConnection(); } + Broker& getBroker() { return session.getBroker(); } + public: - SemanticHandler(Session& session); + SemanticHandler(SessionState& session); //frame handler: void handle(framing::AMQFrame& frame); -- cgit v1.2.1