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 virtual void visit(cluster::DumpRequest&) = 0;
00065 virtual void visit(cluster::DumpOffer&) = 0;
00066 virtual void visit(cluster::DumpStart&) = 0;
00067 virtual void visit(cluster::Ready&) = 0;
00068 virtual void visit(cluster::ConfigChange&) = 0;
00069 virtual void visit(cluster::Shutdown&) = 0;
00070 virtual void visit(cluster-connection::DeliverClose&) = 0;
00071 virtual void visit(cluster-connection::DeliverDoOutput&) = 0;
00072 virtual void visit(cluster-connection::SessionState&) = 0;
00073 virtual void visit(cluster-connection::ShadowReady&) = 0;
00074 virtual void visit(cluster-connection::Membership&) = 0;
00075 };
00076 struct ConstControlVisitor
00077 {
00078 virtual ~ConstControlVisitor() {}
00079 typedef const Control BaseType;
00080 virtual void visit(const connection::Start&) = 0;
00081 virtual void visit(const connection::StartOk&) = 0;
00082 virtual void visit(const connection::Secure&) = 0;
00083 virtual void visit(const connection::SecureOk&) = 0;
00084 virtual void visit(const connection::Tune&) = 0;
00085 virtual void visit(const connection::TuneOk&) = 0;
00086 virtual void visit(const connection::Open&) = 0;
00087 virtual void visit(const connection::OpenOk&) = 0;
00088 virtual void visit(const connection::Redirect&) = 0;
00089 virtual void visit(const connection::Heartbeat&) = 0;
00090 virtual void visit(const connection::Close&) = 0;
00091 virtual void visit(const connection::CloseOk&) = 0;
00092 virtual void visit(const session::Attach&) = 0;
00093 virtual void visit(const session::Attached&) = 0;
00094 virtual void visit(const session::Detach&) = 0;
00095 virtual void visit(const session::Detached&) = 0;
00096 virtual void visit(const session::RequestTimeout&) = 0;
00097 virtual void visit(const session::Timeout&) = 0;
00098 virtual void visit(const session::CommandPoint&) = 0;
00099 virtual void visit(const session::Expected&) = 0;
00100 virtual void visit(const session::Confirmed&) = 0;
00101 virtual void visit(const session::Completed&) = 0;
00102 virtual void visit(const session::KnownCompleted&) = 0;
00103 virtual void visit(const session::Flush&) = 0;
00104 virtual void visit(const session::Gap&) = 0;
00105 virtual void visit(const cluster::DumpRequest&) = 0;
00106 virtual void visit(const cluster::DumpOffer&) = 0;
00107 virtual void visit(const cluster::DumpStart&) = 0;
00108 virtual void visit(const cluster::Ready&) = 0;
00109 virtual void visit(const cluster::ConfigChange&) = 0;
00110 virtual void visit(const cluster::Shutdown&) = 0;
00111 virtual void visit(const cluster-connection::DeliverClose&) = 0;
00112 virtual void visit(const cluster-connection::DeliverDoOutput&) = 0;
00113 virtual void visit(const cluster-connection::SessionState&) = 0;
00114 virtual void visit(const cluster-connection::ShadowReady&) = 0;
00115 virtual void visit(const cluster-connection::Membership&) = 0;
00116 };
00117
00118 }}
00119
00120 #endif