diff options
Diffstat (limited to 'cpp/src/qpid/framing/FrameDefaultVisitor.h')
-rw-r--r-- | cpp/src/qpid/framing/FrameDefaultVisitor.h | 14 |
1 files changed, 12 insertions, 2 deletions
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); } +}; + |