/usr/share/cruisecontrol-bin-2.6.1/projects/qpid-trunk/cpp/src/gen/qpid/amqp_0_10/CommandHolder.h

00001 #ifndef QPID_AMQP_0_10_COMMANDHOLDER_H
00002 #define QPID_AMQP_0_10_COMMANDHOLDER_H
00003 /*
00004  *
00005  * Licensed to the Apache Software Foundation (ASF) under one
00006  * or more contributor license agreements.  See the NOTICE file
00007  * distributed with this work for additional information
00008  * regarding copyright ownership.  The ASF licenses this file
00009  * to you under the Apache License, Version 2.0 (the
00010  * "License"); you may not use this file except in compliance
00011  * with the License.  You may obtain a copy of the License at
00012  *
00013  *   http://www.apache.org/licenses/LICENSE-2.0
00014  *
00015  * Unless required by applicable law or agreed to in writing,
00016  * software distributed under the License is distributed on an
00017  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00018  * KIND, either express or implied.  See the License for the
00019  * specific language governing permissions and limitations
00020  * under the License.
00021  *
00022  */
00023 
00028 
00029 
00030 #include "qpid/amqp_0_10/ApplyCommand.h"
00031 #include "qpid/amqp_0_10/Holder.h"
00032 
00033 namespace qpid {
00034 namespace amqp_0_10 {
00035 
00036 
00037 namespace command_max {
00038 
00039 template <class M, class X> struct Max
00040 {
00041     static const size_t max=(M::max > sizeof(X)) ? M::max : sizeof(X);
00042 };
00043 struct Max000 { static const size_t max=0; };
00044 typedef Max<Max000, execution::Sync> Max001;
00045 typedef Max<Max001, execution::Result> Max002;
00046 typedef Max<Max002, execution::Exception> Max003;
00047 typedef Max<Max003, message::Transfer> Max004;
00048 typedef Max<Max004, message::Accept> Max005;
00049 typedef Max<Max005, message::Reject> Max006;
00050 typedef Max<Max006, message::Release> Max007;
00051 typedef Max<Max007, message::Acquire> Max008;
00052 typedef Max<Max008, message::Resume> Max009;
00053 typedef Max<Max009, message::Subscribe> Max010;
00054 typedef Max<Max010, message::Cancel> Max011;
00055 typedef Max<Max011, message::SetFlowMode> Max012;
00056 typedef Max<Max012, message::Flow> Max013;
00057 typedef Max<Max013, message::Flush> Max014;
00058 typedef Max<Max014, message::Stop> Max015;
00059 typedef Max<Max015, tx::Select> Max016;
00060 typedef Max<Max016, tx::Commit> Max017;
00061 typedef Max<Max017, tx::Rollback> Max018;
00062 typedef Max<Max018, dtx::Select> Max019;
00063 typedef Max<Max019, dtx::Start> Max020;
00064 typedef Max<Max020, dtx::End> Max021;
00065 typedef Max<Max021, dtx::Commit> Max022;
00066 typedef Max<Max022, dtx::Forget> Max023;
00067 typedef Max<Max023, dtx::GetTimeout> Max024;
00068 typedef Max<Max024, dtx::Prepare> Max025;
00069 typedef Max<Max025, dtx::Recover> Max026;
00070 typedef Max<Max026, dtx::Rollback> Max027;
00071 typedef Max<Max027, dtx::SetTimeout> Max028;
00072 typedef Max<Max028, exchange::Declare> Max029;
00073 typedef Max<Max029, exchange::Delete> Max030;
00074 typedef Max<Max030, exchange::Query> Max031;
00075 typedef Max<Max031, exchange::Bind> Max032;
00076 typedef Max<Max032, exchange::Unbind> Max033;
00077 typedef Max<Max033, exchange::Bound> Max034;
00078 typedef Max<Max034, queue::Declare> Max035;
00079 typedef Max<Max035, queue::Delete> Max036;
00080 typedef Max<Max036, queue::Purge> Max037;
00081 typedef Max<Max037, queue::Query> Max038;
00082 typedef Max<Max038, file::Qos> Max039;
00083 typedef Max<Max039, file::QosOk> Max040;
00084 typedef Max<Max040, file::Consume> Max041;
00085 typedef Max<Max041, file::ConsumeOk> Max042;
00086 typedef Max<Max042, file::Cancel> Max043;
00087 typedef Max<Max043, file::Open> Max044;
00088 typedef Max<Max044, file::OpenOk> Max045;
00089 typedef Max<Max045, file::Stage> Max046;
00090 typedef Max<Max046, file::Publish> Max047;
00091 typedef Max<Max047, file::Return> Max048;
00092 typedef Max<Max048, file::Deliver> Max049;
00093 typedef Max<Max049, file::Ack> Max050;
00094 typedef Max<Max050, file::Reject> Max051;
00095 typedef Max<Max051, stream::Qos> Max052;
00096 typedef Max<Max052, stream::QosOk> Max053;
00097 typedef Max<Max053, stream::Consume> Max054;
00098 typedef Max<Max054, stream::ConsumeOk> Max055;
00099 typedef Max<Max055, stream::Cancel> Max056;
00100 typedef Max<Max056, stream::Publish> Max057;
00101 typedef Max<Max057, stream::Return> Max058;
00102 typedef Max<Max058, stream::Deliver> Max059;
00103 static const int MAX=Max059::max;
00104 
00105 } // namespace command_max
00106 
00107 struct CommandHolder:
00108     public amqp_0_10::Holder<CommandHolder, Command, command_max::MAX>
00109 {
00110     CommandHolder() {}
00111     template <class T> explicit CommandHolder(const T& t) : amqp_0_10::Holder<CommandHolder, Command, command_max::MAX>(t) {}
00112     using amqp_0_10::Holder<CommandHolder, Command, command_max::MAX>::operator=;
00113     void set(uint8_t classCode, uint8_t code);
00114 };
00115 
00116 std::ostream& operator<<(std::ostream& o, const CommandHolder& h);
00117 
00118 }} // namespace qpid::amqp_0_10
00119 
00120 #endif  

Generated on Thu Apr 10 11:08:15 2008 for Qpid by  doxygen 1.4.7