00001 #ifndef QPID_AMQP_0_10_COMMANDHOLDER_H
00002 #define QPID_AMQP_0_10_COMMANDHOLDER_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/ApplyCommand.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 command_max {
00039
00040 static const size_t MAX000=0;
00041 static const size_t MAX001 = sizeof(execution::Sync) > MAX000 ? sizeof(execution::Sync) : MAX000;
00042 static const size_t MAX002 = sizeof(execution::Result) > MAX001 ? sizeof(execution::Result) : MAX001;
00043 static const size_t MAX003 = sizeof(execution::Exception) > MAX002 ? sizeof(execution::Exception) : MAX002;
00044 static const size_t MAX004 = sizeof(message::Transfer) > MAX003 ? sizeof(message::Transfer) : MAX003;
00045 static const size_t MAX005 = sizeof(message::Accept) > MAX004 ? sizeof(message::Accept) : MAX004;
00046 static const size_t MAX006 = sizeof(message::Reject) > MAX005 ? sizeof(message::Reject) : MAX005;
00047 static const size_t MAX007 = sizeof(message::Release) > MAX006 ? sizeof(message::Release) : MAX006;
00048 static const size_t MAX008 = sizeof(message::Acquire) > MAX007 ? sizeof(message::Acquire) : MAX007;
00049 static const size_t MAX009 = sizeof(message::Resume) > MAX008 ? sizeof(message::Resume) : MAX008;
00050 static const size_t MAX010 = sizeof(message::Subscribe) > MAX009 ? sizeof(message::Subscribe) : MAX009;
00051 static const size_t MAX011 = sizeof(message::Cancel) > MAX010 ? sizeof(message::Cancel) : MAX010;
00052 static const size_t MAX012 = sizeof(message::SetFlowMode) > MAX011 ? sizeof(message::SetFlowMode) : MAX011;
00053 static const size_t MAX013 = sizeof(message::Flow) > MAX012 ? sizeof(message::Flow) : MAX012;
00054 static const size_t MAX014 = sizeof(message::Flush) > MAX013 ? sizeof(message::Flush) : MAX013;
00055 static const size_t MAX015 = sizeof(message::Stop) > MAX014 ? sizeof(message::Stop) : MAX014;
00056 static const size_t MAX016 = sizeof(tx::Select) > MAX015 ? sizeof(tx::Select) : MAX015;
00057 static const size_t MAX017 = sizeof(tx::Commit) > MAX016 ? sizeof(tx::Commit) : MAX016;
00058 static const size_t MAX018 = sizeof(tx::Rollback) > MAX017 ? sizeof(tx::Rollback) : MAX017;
00059 static const size_t MAX019 = sizeof(dtx::Select) > MAX018 ? sizeof(dtx::Select) : MAX018;
00060 static const size_t MAX020 = sizeof(dtx::Start) > MAX019 ? sizeof(dtx::Start) : MAX019;
00061 static const size_t MAX021 = sizeof(dtx::End) > MAX020 ? sizeof(dtx::End) : MAX020;
00062 static const size_t MAX022 = sizeof(dtx::Commit) > MAX021 ? sizeof(dtx::Commit) : MAX021;
00063 static const size_t MAX023 = sizeof(dtx::Forget) > MAX022 ? sizeof(dtx::Forget) : MAX022;
00064 static const size_t MAX024 = sizeof(dtx::GetTimeout) > MAX023 ? sizeof(dtx::GetTimeout) : MAX023;
00065 static const size_t MAX025 = sizeof(dtx::Prepare) > MAX024 ? sizeof(dtx::Prepare) : MAX024;
00066 static const size_t MAX026 = sizeof(dtx::Recover) > MAX025 ? sizeof(dtx::Recover) : MAX025;
00067 static const size_t MAX027 = sizeof(dtx::Rollback) > MAX026 ? sizeof(dtx::Rollback) : MAX026;
00068 static const size_t MAX028 = sizeof(dtx::SetTimeout) > MAX027 ? sizeof(dtx::SetTimeout) : MAX027;
00069 static const size_t MAX029 = sizeof(exchange::Declare) > MAX028 ? sizeof(exchange::Declare) : MAX028;
00070 static const size_t MAX030 = sizeof(exchange::Delete) > MAX029 ? sizeof(exchange::Delete) : MAX029;
00071 static const size_t MAX031 = sizeof(exchange::Query) > MAX030 ? sizeof(exchange::Query) : MAX030;
00072 static const size_t MAX032 = sizeof(exchange::Bind) > MAX031 ? sizeof(exchange::Bind) : MAX031;
00073 static const size_t MAX033 = sizeof(exchange::Unbind) > MAX032 ? sizeof(exchange::Unbind) : MAX032;
00074 static const size_t MAX034 = sizeof(exchange::Bound) > MAX033 ? sizeof(exchange::Bound) : MAX033;
00075 static const size_t MAX035 = sizeof(queue::Declare) > MAX034 ? sizeof(queue::Declare) : MAX034;
00076 static const size_t MAX036 = sizeof(queue::Delete) > MAX035 ? sizeof(queue::Delete) : MAX035;
00077 static const size_t MAX037 = sizeof(queue::Purge) > MAX036 ? sizeof(queue::Purge) : MAX036;
00078 static const size_t MAX038 = sizeof(queue::Query) > MAX037 ? sizeof(queue::Query) : MAX037;
00079 static const size_t MAX039 = sizeof(file::Qos) > MAX038 ? sizeof(file::Qos) : MAX038;
00080 static const size_t MAX040 = sizeof(file::QosOk) > MAX039 ? sizeof(file::QosOk) : MAX039;
00081 static const size_t MAX041 = sizeof(file::Consume) > MAX040 ? sizeof(file::Consume) : MAX040;
00082 static const size_t MAX042 = sizeof(file::ConsumeOk) > MAX041 ? sizeof(file::ConsumeOk) : MAX041;
00083 static const size_t MAX043 = sizeof(file::Cancel) > MAX042 ? sizeof(file::Cancel) : MAX042;
00084 static const size_t MAX044 = sizeof(file::Open) > MAX043 ? sizeof(file::Open) : MAX043;
00085 static const size_t MAX045 = sizeof(file::OpenOk) > MAX044 ? sizeof(file::OpenOk) : MAX044;
00086 static const size_t MAX046 = sizeof(file::Stage) > MAX045 ? sizeof(file::Stage) : MAX045;
00087 static const size_t MAX047 = sizeof(file::Publish) > MAX046 ? sizeof(file::Publish) : MAX046;
00088 static const size_t MAX048 = sizeof(file::Return) > MAX047 ? sizeof(file::Return) : MAX047;
00089 static const size_t MAX049 = sizeof(file::Deliver) > MAX048 ? sizeof(file::Deliver) : MAX048;
00090 static const size_t MAX050 = sizeof(file::Ack) > MAX049 ? sizeof(file::Ack) : MAX049;
00091 static const size_t MAX051 = sizeof(file::Reject) > MAX050 ? sizeof(file::Reject) : MAX050;
00092 static const size_t MAX052 = sizeof(stream::Qos) > MAX051 ? sizeof(stream::Qos) : MAX051;
00093 static const size_t MAX053 = sizeof(stream::QosOk) > MAX052 ? sizeof(stream::QosOk) : MAX052;
00094 static const size_t MAX054 = sizeof(stream::Consume) > MAX053 ? sizeof(stream::Consume) : MAX053;
00095 static const size_t MAX055 = sizeof(stream::ConsumeOk) > MAX054 ? sizeof(stream::ConsumeOk) : MAX054;
00096 static const size_t MAX056 = sizeof(stream::Cancel) > MAX055 ? sizeof(stream::Cancel) : MAX055;
00097 static const size_t MAX057 = sizeof(stream::Publish) > MAX056 ? sizeof(stream::Publish) : MAX056;
00098 static const size_t MAX058 = sizeof(stream::Return) > MAX057 ? sizeof(stream::Return) : MAX057;
00099 static const size_t MAX059 = sizeof(stream::Deliver) > MAX058 ? sizeof(stream::Deliver) : MAX058;
00100 static const int MAX=MAX059;
00101
00102 }
00103
00104 struct CommandHolder:
00105 public amqp_0_10::Holder<CommandHolder, Command, command_max::MAX>
00106 {
00107 CommandHolder() {}
00108 template <class T> explicit CommandHolder(const T& t) : amqp_0_10::Holder<CommandHolder, Command, command_max::MAX>(t) {}
00109 using amqp_0_10::Holder<CommandHolder, Command, command_max::MAX>::operator=;
00110 void set(uint8_t classCode, uint8_t code);
00111 };
00112
00113 std::ostream& operator<<(std::ostream& o, const CommandHolder& h);
00114
00115 }}
00116
00117 #endif