00001 #ifndef QPID_AMQP_0_10_CONTROLHOLDER_H
00002 #define QPID_AMQP_0_10_CONTROLHOLDER_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/ApplyControl.h"
00031 #include "qpid/amqp_0_10/Holder.h"
00032 #include "qpid/amqp_0_10/specification.h"
00033
00034 namespace qpid {
00035 namespace amqp_0_10 {
00036
00037
00038 namespace control_max {
00039
00040 static const size_t MAX000=0;
00041 static const size_t MAX001 = sizeof(connection::Start) > MAX000 ? sizeof(connection::Start) : MAX000;
00042 static const size_t MAX002 = sizeof(connection::StartOk) > MAX001 ? sizeof(connection::StartOk) : MAX001;
00043 static const size_t MAX003 = sizeof(connection::Secure) > MAX002 ? sizeof(connection::Secure) : MAX002;
00044 static const size_t MAX004 = sizeof(connection::SecureOk) > MAX003 ? sizeof(connection::SecureOk) : MAX003;
00045 static const size_t MAX005 = sizeof(connection::Tune) > MAX004 ? sizeof(connection::Tune) : MAX004;
00046 static const size_t MAX006 = sizeof(connection::TuneOk) > MAX005 ? sizeof(connection::TuneOk) : MAX005;
00047 static const size_t MAX007 = sizeof(connection::Open) > MAX006 ? sizeof(connection::Open) : MAX006;
00048 static const size_t MAX008 = sizeof(connection::OpenOk) > MAX007 ? sizeof(connection::OpenOk) : MAX007;
00049 static const size_t MAX009 = sizeof(connection::Redirect) > MAX008 ? sizeof(connection::Redirect) : MAX008;
00050 static const size_t MAX010 = sizeof(connection::Heartbeat) > MAX009 ? sizeof(connection::Heartbeat) : MAX009;
00051 static const size_t MAX011 = sizeof(connection::Close) > MAX010 ? sizeof(connection::Close) : MAX010;
00052 static const size_t MAX012 = sizeof(connection::CloseOk) > MAX011 ? sizeof(connection::CloseOk) : MAX011;
00053 static const size_t MAX013 = sizeof(session::Attach) > MAX012 ? sizeof(session::Attach) : MAX012;
00054 static const size_t MAX014 = sizeof(session::Attached) > MAX013 ? sizeof(session::Attached) : MAX013;
00055 static const size_t MAX015 = sizeof(session::Detach) > MAX014 ? sizeof(session::Detach) : MAX014;
00056 static const size_t MAX016 = sizeof(session::Detached) > MAX015 ? sizeof(session::Detached) : MAX015;
00057 static const size_t MAX017 = sizeof(session::RequestTimeout) > MAX016 ? sizeof(session::RequestTimeout) : MAX016;
00058 static const size_t MAX018 = sizeof(session::Timeout) > MAX017 ? sizeof(session::Timeout) : MAX017;
00059 static const size_t MAX019 = sizeof(session::CommandPoint) > MAX018 ? sizeof(session::CommandPoint) : MAX018;
00060 static const size_t MAX020 = sizeof(session::Expected) > MAX019 ? sizeof(session::Expected) : MAX019;
00061 static const size_t MAX021 = sizeof(session::Confirmed) > MAX020 ? sizeof(session::Confirmed) : MAX020;
00062 static const size_t MAX022 = sizeof(session::Completed) > MAX021 ? sizeof(session::Completed) : MAX021;
00063 static const size_t MAX023 = sizeof(session::KnownCompleted) > MAX022 ? sizeof(session::KnownCompleted) : MAX022;
00064 static const size_t MAX024 = sizeof(session::Flush) > MAX023 ? sizeof(session::Flush) : MAX023;
00065 static const size_t MAX025 = sizeof(session::Gap) > MAX024 ? sizeof(session::Gap) : MAX024;
00066 static const size_t MAX026 = sizeof(cluster::DumpRequest) > MAX025 ? sizeof(cluster::DumpRequest) : MAX025;
00067 static const size_t MAX027 = sizeof(cluster::DumpOffer) > MAX026 ? sizeof(cluster::DumpOffer) : MAX026;
00068 static const size_t MAX028 = sizeof(cluster::DumpStart) > MAX027 ? sizeof(cluster::DumpStart) : MAX027;
00069 static const size_t MAX029 = sizeof(cluster::Ready) > MAX028 ? sizeof(cluster::Ready) : MAX028;
00070 static const size_t MAX030 = sizeof(cluster::ConfigChange) > MAX029 ? sizeof(cluster::ConfigChange) : MAX029;
00071 static const size_t MAX031 = sizeof(cluster::Shutdown) > MAX030 ? sizeof(cluster::Shutdown) : MAX030;
00072 static const size_t MAX032 = sizeof(cluster-connection::DeliverClose) > MAX031 ? sizeof(cluster-connection::DeliverClose) : MAX031;
00073 static const size_t MAX033 = sizeof(cluster-connection::DeliverDoOutput) > MAX032 ? sizeof(cluster-connection::DeliverDoOutput) : MAX032;
00074 static const size_t MAX034 = sizeof(cluster-connection::SessionState) > MAX033 ? sizeof(cluster-connection::SessionState) : MAX033;
00075 static const size_t MAX035 = sizeof(cluster-connection::ShadowReady) > MAX034 ? sizeof(cluster-connection::ShadowReady) : MAX034;
00076 static const size_t MAX036 = sizeof(cluster-connection::Membership) > MAX035 ? sizeof(cluster-connection::Membership) : MAX035;
00077 static const int MAX=MAX036;
00078
00079 }
00080
00081 struct ControlHolder:
00082 public amqp_0_10::Holder<ControlHolder, Control, control_max::MAX>
00083 {
00084 ControlHolder() {}
00085 template <class T> explicit ControlHolder(const T& t) : amqp_0_10::Holder<ControlHolder, Control, control_max::MAX>(t) {}
00086 using amqp_0_10::Holder<ControlHolder, Control, control_max::MAX>::operator=;
00087 void set(uint8_t classCode, uint8_t code);
00088 };
00089
00090 std::ostream& operator<<(std::ostream& o, const ControlHolder& h);
00091
00092 }}
00093
00094 #endif