From d52cb3fdccb2c18fa91c8331b4a09e4ea032ff1c Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Mon, 27 Aug 2007 20:39:35 +0000 Subject: * src/qpid/framing/FrameDefaultVisitor.h: A visitor for all concrete frame body types. * src/qpid/broker/SessionState.h: 3 states - closed, active, suspended. * src/qpid/broker/SessionAdapter.h, .cpp: Session handler, implements session class commands. In progres.. * rubygen/templates/MethodBodyDefaultVisitor.rb: A visitor for all method body types. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@570236 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/framing/FrameDefaultVisitor.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/framing') diff --git a/cpp/src/qpid/framing/FrameDefaultVisitor.h b/cpp/src/qpid/framing/FrameDefaultVisitor.h index 84606b90e7..a66adf28c4 100644 --- a/cpp/src/qpid/framing/FrameDefaultVisitor.h +++ b/cpp/src/qpid/framing/FrameDefaultVisitor.h @@ -23,6 +23,7 @@ #include "qpid/framing/MethodBodyDefaultVisitor.h" #include "qpid/framing/AMQBody.h" +#include "qpid/framing/FrameHandler.h" namespace qpid { namespace framing { @@ -33,8 +34,8 @@ class AMQContentBody; class AMQHeartbeatBody; /** - * Functor to handle a frame by visiting its content. - * Combines AMQBodyConstVisitor and MethodBodyDefaultVisitor. + * Visitor for all concrete frame body types, combines + * AMQBodyConstVisitor and MethodBodyDefaultVisitor. * * Derived classes may override visit methods to specify actions. * Derived classes must override defaultVisit(), which is called @@ -49,6 +50,15 @@ struct FrameDefaultVisitor : public AMQBodyConstVisitor, public MethodBodyDefaul void visit(const AMQMethodBody& method) { method.accept(*this); } }; +/** + * A FrameHandler that is implemented as a visitor. + */ +struct FrameVisitorHandler : public FrameHandler, + protected FrameVisitorHandler +{ + void handle(AMQFrame& f) { f.accept(*this); } +}; + -- cgit v1.2.1