00001 #ifndef QPID_AMQP_0_10_CONTROLVISITOR_H
00002 #define QPID_AMQP_0_10_CONTROLVISITOR_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028
00029
00030 #include "qpid/amqp_0_10/specification.h"
00031
00032 namespace qpid {
00033 namespace amqp_0_10 {
00034
00035 struct ControlVisitor
00036 {
00037 virtual ~ControlVisitor() {}
00038 typedef Control BaseType;
00039 virtual void visit(connection::Start&) = 0;
00040 virtual void visit(connection::StartOk&) = 0;
00041 virtual void visit(connection::Secure&) = 0;
00042 virtual void visit(connection::SecureOk&) = 0;
00043 virtual void visit(connection::Tune&) = 0;
00044 virtual void visit(connection::TuneOk&) = 0;
00045 virtual void visit(connection::Open&) = 0;
00046 virtual void visit(connection::OpenOk&) = 0;
00047 virtual void visit(connection::Redirect&) = 0;
00048 virtual void visit(connection::Heartbeat&) = 0;
00049 virtual void visit(connection::Close&) = 0;
00050 virtual void visit(connection::CloseOk&) = 0;
00051 virtual void visit(session::Attach&) = 0;
00052 virtual void visit(session::Attached&) = 0;
00053 virtual void visit(session::Detach&) = 0;
00054 virtual void visit(session::Detached&) = 0;
00055 virtual void visit(session::RequestTimeout&) = 0;
00056 virtual void visit(session::Timeout&) = 0;
00057 virtual void visit(session::CommandPoint&) = 0;
00058 virtual void visit(session::Expected&) = 0;
00059 virtual void visit(session::Confirmed&) = 0;
00060 virtual void visit(session::Completed&) = 0;
00061 virtual void visit(session::KnownCompleted&) = 0;
00062 virtual void visit(session::Flush&) = 0;
00063 virtual void visit(session::Gap&) = 0;
00064 };
00065 struct ConstControlVisitor
00066 {
00067 virtual ~ConstControlVisitor() {}
00068 typedef const Control BaseType;
00069 virtual void visit(const connection::Start&) = 0;
00070 virtual void visit(const connection::StartOk&) = 0;
00071 virtual void visit(const connection::Secure&) = 0;
00072 virtual void visit(const connection::SecureOk&) = 0;
00073 virtual void visit(const connection::Tune&) = 0;
00074 virtual void visit(const connection::TuneOk&) = 0;
00075 virtual void visit(const connection::Open&) = 0;
00076 virtual void visit(const connection::OpenOk&) = 0;
00077 virtual void visit(const connection::Redirect&) = 0;
00078 virtual void visit(const connection::Heartbeat&) = 0;
00079 virtual void visit(const connection::Close&) = 0;
00080 virtual void visit(const connection::CloseOk&) = 0;
00081 virtual void visit(const session::Attach&) = 0;
00082 virtual void visit(const session::Attached&) = 0;
00083 virtual void visit(const session::Detach&) = 0;
00084 virtual void visit(const session::Detached&) = 0;
00085 virtual void visit(const session::RequestTimeout&) = 0;
00086 virtual void visit(const session::Timeout&) = 0;
00087 virtual void visit(const session::CommandPoint&) = 0;
00088 virtual void visit(const session::Expected&) = 0;
00089 virtual void visit(const session::Confirmed&) = 0;
00090 virtual void visit(const session::Completed&) = 0;
00091 virtual void visit(const session::KnownCompleted&) = 0;
00092 virtual void visit(const session::Flush&) = 0;
00093 virtual void visit(const session::Gap&) = 0;
00094 };
00095
00096 }}
00097
00098 #endif