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::Joined&) = 0;
00065 virtual void visit(cluster-connection::DeliverClose&) = 0;
00066 virtual void visit(cluster-connection::DeliverDoOutput&) = 0;
00067 };
00068 struct ConstControlVisitor
00069 {
00070 virtual ~ConstControlVisitor() {}
00071 typedef const Control BaseType;
00072 virtual void visit(const connection::Start&) = 0;
00073 virtual void visit(const connection::StartOk&) = 0;
00074 virtual void visit(const connection::Secure&) = 0;
00075 virtual void visit(const connection::SecureOk&) = 0;
00076 virtual void visit(const connection::Tune&) = 0;
00077 virtual void visit(const connection::TuneOk&) = 0;
00078 virtual void visit(const connection::Open&) = 0;
00079 virtual void visit(const connection::OpenOk&) = 0;
00080 virtual void visit(const connection::Redirect&) = 0;
00081 virtual void visit(const connection::Heartbeat&) = 0;
00082 virtual void visit(const connection::Close&) = 0;
00083 virtual void visit(const connection::CloseOk&) = 0;
00084 virtual void visit(const session::Attach&) = 0;
00085 virtual void visit(const session::Attached&) = 0;
00086 virtual void visit(const session::Detach&) = 0;
00087 virtual void visit(const session::Detached&) = 0;
00088 virtual void visit(const session::RequestTimeout&) = 0;
00089 virtual void visit(const session::Timeout&) = 0;
00090 virtual void visit(const session::CommandPoint&) = 0;
00091 virtual void visit(const session::Expected&) = 0;
00092 virtual void visit(const session::Confirmed&) = 0;
00093 virtual void visit(const session::Completed&) = 0;
00094 virtual void visit(const session::KnownCompleted&) = 0;
00095 virtual void visit(const session::Flush&) = 0;
00096 virtual void visit(const session::Gap&) = 0;
00097 virtual void visit(const cluster::Joined&) = 0;
00098 virtual void visit(const cluster-connection::DeliverClose&) = 0;
00099 virtual void visit(const cluster-connection::DeliverDoOutput&) = 0;
00100 };
00101
00102 }}
00103
00104 #endif