summaryrefslogtreecommitdiff
path: root/cpp/gentools/templ.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-03-21 02:08:18 +0000
committerAlan Conway <aconway@apache.org>2007-03-21 02:08:18 +0000
commit595235e61a48c1ee24bdaee8af72ab7caf18bab6 (patch)
tree3e6193a2ffe5789291ec8577924f1cabe6933618 /cpp/gentools/templ.cpp
parent371d76b7e0f8358d5296722f2f2c0e28181a3935 (diff)
downloadqpid-python-595235e61a48c1ee24bdaee8af72ab7caf18bab6.tar.gz
Renamed cpp-0-9 to cpp
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@520706 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/gentools/templ.cpp')
-rw-r--r--cpp/gentools/templ.cpp/AMQP_ClientOperations.h.tmpl64
-rw-r--r--cpp/gentools/templ.cpp/AMQP_ClientProxy.cpp.tmpl52
-rw-r--r--cpp/gentools/templ.cpp/AMQP_ClientProxy.h.tmpl59
-rw-r--r--cpp/gentools/templ.cpp/AMQP_Constants.h.tmpl34
-rw-r--r--cpp/gentools/templ.cpp/AMQP_HighestVersion.h.tmpl42
-rw-r--r--cpp/gentools/templ.cpp/AMQP_MethodVersionMap.cpp.tmpl62
-rw-r--r--cpp/gentools/templ.cpp/AMQP_MethodVersionMap.h.tmpl57
-rw-r--r--cpp/gentools/templ.cpp/AMQP_ServerOperations.h.tmpl65
-rw-r--r--cpp/gentools/templ.cpp/AMQP_ServerProxy.cpp.tmpl51
-rw-r--r--cpp/gentools/templ.cpp/AMQP_ServerProxy.h.tmpl59
-rw-r--r--cpp/gentools/templ.cpp/MethodBodyClass.h.tmpl110
11 files changed, 655 insertions, 0 deletions
diff --git a/cpp/gentools/templ.cpp/AMQP_ClientOperations.h.tmpl b/cpp/gentools/templ.cpp/AMQP_ClientOperations.h.tmpl
new file mode 100644
index 0000000000..2b96e55444
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_ClientOperations.h.tmpl
@@ -0,0 +1,64 @@
+&{AMQP_ClientOperations.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#ifndef qpid_framing_AMQP_ClientOperations__
+#define qpid_framing_AMQP_ClientOperations__
+
+#include <sstream>
+
+#include "ProtocolVersion.h"
+
+namespace qpid {
+namespace framing {
+
+class MethodContext;
+
+class AMQP_ClientOperations
+{
+public:
+ virtual ~AMQP_ClientOperations() {}
+
+ virtual ProtocolVersion getVersion() const = 0;
+
+ // Include framing constant declarations
+ #include <AMQP_Constants.h>
+
+ // Inner classes
+
+%{CLIST} ${coh_inner_class}
+
+ // Method handler get methods
+
+%{CLIST} ${coh_method_handler_get_method}
+
+}; /* class AMQP_ClientOperations */
+
+} /* namespace framing */
+} /* namespace qpid */
+
+#endif
diff --git a/cpp/gentools/templ.cpp/AMQP_ClientProxy.cpp.tmpl b/cpp/gentools/templ.cpp/AMQP_ClientProxy.cpp.tmpl
new file mode 100644
index 0000000000..6a0e6eedb3
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_ClientProxy.cpp.tmpl
@@ -0,0 +1,52 @@
+&{AMQP_ClientProxy.cpp}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+#include <sstream>
+#include "AMQP_ClientProxy.h"
+#include "framing/ChannelAdapter.h"
+#include "framing/amqp_types_full.h"
+
+%{MLIST} ${cpc_method_body_include}
+
+namespace qpid {
+namespace framing {
+
+
+AMQP_ClientProxy::AMQP_ClientProxy(ChannelAdapter& ch) :
+ Proxy(ch)%{CLIST} ${cpc_constructor_initializer}
+ {}
+
+ // Inner class instance get methods
+
+%{CLIST} ${cpc_inner_class_get_method}
+
+ // Inner class implementation
+
+%{CLIST} ${cpc_inner_class_impl}
+
+}} // namespae qpid::framing
+
diff --git a/cpp/gentools/templ.cpp/AMQP_ClientProxy.h.tmpl b/cpp/gentools/templ.cpp/AMQP_ClientProxy.h.tmpl
new file mode 100644
index 0000000000..b43b3a6747
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_ClientProxy.h.tmpl
@@ -0,0 +1,59 @@
+&{AMQP_ClientProxy.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#ifndef qpid_framing_AMQP_ClientProxy__
+#define qpid_framing_AMQP_ClientProxy__
+
+#include "framing/Proxy.h"
+
+namespace qpid {
+namespace framing {
+
+class AMQP_ClientProxy : public Proxy
+{
+public:
+ AMQP_ClientProxy(ChannelAdapter& ch);
+
+ // Inner class definitions
+
+%{CLIST} ${cph_inner_class_defn}
+
+ // Inner class instance get methods
+
+%{CLIST} ${cph_inner_class_get_method}
+
+private:
+ // Inner class instances
+
+%{CLIST} ${cph_inner_class_instance}
+}; /* class AMQP_ClientProxy */
+
+} /* namespace framing */
+} /* namespace qpid */
+
+#endif
diff --git a/cpp/gentools/templ.cpp/AMQP_Constants.h.tmpl b/cpp/gentools/templ.cpp/AMQP_Constants.h.tmpl
new file mode 100644
index 0000000000..4631bc8de6
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_Constants.h.tmpl
@@ -0,0 +1,34 @@
+&{AMQP_Constants.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+ // NOTE: This file is intended to be included within the class structure of both
+ // the client and server operations classes. These need to have <sstream> included.
+
+ // Constant getValue methods
+
+%{TLIST} ${ch_get_value_method}
+ \ No newline at end of file
diff --git a/cpp/gentools/templ.cpp/AMQP_HighestVersion.h.tmpl b/cpp/gentools/templ.cpp/AMQP_HighestVersion.h.tmpl
new file mode 100644
index 0000000000..9753b454ba
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_HighestVersion.h.tmpl
@@ -0,0 +1,42 @@
+&{AMQP_HighestVersion.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+#ifndef qpid_framing_highestProtocolVersion__
+#define qpid_framing_highestProtocolVersion__
+
+#include <ProtocolVersion.h>
+
+
+namespace qpid {
+namespace framing {
+
+static ProtocolVersion highestProtocolVersion(${hv_latest_major}, ${hv_latest_minor});
+
+} /* namespace framing */
+} /* namespace qpid */
+
+#endif
diff --git a/cpp/gentools/templ.cpp/AMQP_MethodVersionMap.cpp.tmpl b/cpp/gentools/templ.cpp/AMQP_MethodVersionMap.cpp.tmpl
new file mode 100644
index 0000000000..6fc79180b2
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_MethodVersionMap.cpp.tmpl
@@ -0,0 +1,62 @@
+&{AMQP_MethodVersionMap.cpp}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#include <sstream>
+#include "framing/ProtocolVersionException.h"
+#include "AMQP_MethodVersionMap.h"
+
+namespace qpid
+{
+namespace framing
+{
+
+AMQP_MethodVersionMap::AMQP_MethodVersionMap()
+{
+%{CLIST} ${mc_create_method_body_map_entry}
+}
+
+AMQMethodBody* AMQP_MethodVersionMap::createMethodBody(u_int16_t classId, u_int16_t methodId, u_int8_t major, u_int8_t minor)
+{
+ iterator itr = find(createMapKey(classId, methodId, major, minor));
+ if (itr == end())
+ {
+ std::stringstream ss;
+ ss << "Unable to find MethodBody class for classId = " << classId << ", methodId = " <<
+ methodId << ", AMQ protocol version = " << major << "-" << minor << ".";
+ throw ProtocolVersionException(ss.str());
+ }
+ return (itr->second)(major, minor);
+}
+
+u_int64_t AMQP_MethodVersionMap::createMapKey(u_int16_t classId, u_int16_t methodId, u_int8_t major, u_int8_t minor)
+{
+ return ((u_int64_t)classId<<48) + ((u_int64_t)methodId<<32) + ((u_int64_t)major<<16) + minor;
+}
+
+} /* namespace framing */
+} /* namespace qpid */
diff --git a/cpp/gentools/templ.cpp/AMQP_MethodVersionMap.h.tmpl b/cpp/gentools/templ.cpp/AMQP_MethodVersionMap.h.tmpl
new file mode 100644
index 0000000000..84596ea5a0
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_MethodVersionMap.h.tmpl
@@ -0,0 +1,57 @@
+&{AMQP_MethodVersionMap.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#ifndef qpid_framing_AMQP_MethodVersionMap__
+#define qpid_framing_AMQP_MethodVersionMap__
+
+#include <map>
+#include <AMQMethodBody.h>
+
+%{MLIST} ${mc_method_body_include}
+
+namespace qpid
+{
+namespace framing
+{
+
+template <class T> AMQMethodBody* createMethodBodyFn(u_int8_t major, u_int8_t minor) { return new T(ProtocolVersion(major, minor)); }
+typedef AMQMethodBody* (*fnPtr)(u_int8_t, u_int8_t);
+
+class AMQP_MethodVersionMap: public std::map<u_int64_t, fnPtr>
+{
+protected:
+ u_int64_t createMapKey(u_int16_t classId, u_int16_t methodId, u_int8_t major, u_int8_t minor);
+public:
+ AMQP_MethodVersionMap();
+ AMQMethodBody* createMethodBody(u_int16_t classId, u_int16_t methodId, u_int8_t major, u_int8_t minor);
+};
+
+} /* namespace framing */
+} /* namespace qpid */
+
+#endif
diff --git a/cpp/gentools/templ.cpp/AMQP_ServerOperations.h.tmpl b/cpp/gentools/templ.cpp/AMQP_ServerOperations.h.tmpl
new file mode 100644
index 0000000000..7f47ac8efb
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_ServerOperations.h.tmpl
@@ -0,0 +1,65 @@
+&{AMQP_ServerOperations.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#ifndef qpid_framing_AMQP_ServerOperations__
+#define qpid_framing_AMQP_ServerOperations__
+
+#include "ProtocolVersion.h"
+
+namespace qpid {
+namespace framing {
+
+class MethodContext;
+
+class AMQP_ServerOperations
+{
+protected:
+ ProtocolVersion version;
+
+public:
+ virtual ~AMQP_ServerOperations() {}
+
+ virtual ProtocolVersion getVersion() const = 0;
+
+ // Include framing constant declarations
+ #include "AMQP_Constants.h"
+
+ // Inner classes
+
+%{CLIST} ${soh_inner_class}
+
+ // Method handler get methods
+
+%{CLIST} ${soh_method_handler_get_method}
+
+}; /* class AMQP_ServerOperations */
+
+} /* namespace framing */
+} /* namespace qpid */
+
+#endif
diff --git a/cpp/gentools/templ.cpp/AMQP_ServerProxy.cpp.tmpl b/cpp/gentools/templ.cpp/AMQP_ServerProxy.cpp.tmpl
new file mode 100644
index 0000000000..5575f3b1df
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_ServerProxy.cpp.tmpl
@@ -0,0 +1,51 @@
+&{AMQP_ServerProxy.cpp}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#include <sstream>
+#include "AMQP_ServerProxy.h"
+#include "framing/ChannelAdapter.h"
+#include "framing/amqp_types_full.h"
+
+%{MLIST} ${spc_method_body_include}
+
+namespace qpid {
+namespace framing {
+
+AMQP_ServerProxy::AMQP_ServerProxy(ChannelAdapter& ch) :
+ Proxy(ch)%{CLIST} ${spc_constructor_initializer}
+ {}
+
+ // Inner class instance get methods
+
+%{CLIST} ${spc_inner_class_get_method}
+
+ // Inner class implementation
+
+%{CLIST} ${spc_inner_class_impl}
+
+}} // namespae qpid::framing
diff --git a/cpp/gentools/templ.cpp/AMQP_ServerProxy.h.tmpl b/cpp/gentools/templ.cpp/AMQP_ServerProxy.h.tmpl
new file mode 100644
index 0000000000..5b8a12ee34
--- /dev/null
+++ b/cpp/gentools/templ.cpp/AMQP_ServerProxy.h.tmpl
@@ -0,0 +1,59 @@
+&{AMQP_ServerProxy.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#ifndef qpid_framing_AMQP_ServerProxy__
+#define qpid_framing_AMQP_ServerProxy__
+
+#include "framing/Proxy.h"
+
+namespace qpid {
+namespace framing {
+
+class AMQP_ServerProxy : public Proxy
+{
+public:
+ AMQP_ServerProxy(ChannelAdapter& ch);
+
+ // Inner class definitions
+
+%{CLIST} ${sph_inner_class_defn}
+
+ // Inner class instance get methods
+
+%{CLIST} ${sph_inner_class_get_method}
+
+private:
+ // Inner class instances
+
+%{CLIST} ${sph_inner_class_instance}
+}; /* class AMQP_ServerProxy */
+
+} /* namespace framing */
+} /* namespace qpid */
+
+#endif
diff --git a/cpp/gentools/templ.cpp/MethodBodyClass.h.tmpl b/cpp/gentools/templ.cpp/MethodBodyClass.h.tmpl
new file mode 100644
index 0000000000..351399a991
--- /dev/null
+++ b/cpp/gentools/templ.cpp/MethodBodyClass.h.tmpl
@@ -0,0 +1,110 @@
+&{${CLASS}${METHOD}Body.h}
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * This file is auto-generated by ${GENERATOR} - do not modify.
+ * Supported AMQP versions:
+%{VLIST} * ${major}-${minor}
+ */
+
+#ifndef qpid_framing_${CLASS}${METHOD}Body__
+#define qpid_framing_${CLASS}${METHOD}Body__
+
+#include <string>
+#include <sstream>
+
+#include <amqp_types.h>
+#include <${mb_base_class}.h>
+#include <Buffer.h>
+#include <FieldTable.h>
+#include <FramingContent.h>
+
+namespace qpid
+{
+namespace framing
+{
+${version_namespace_start}
+
+class ${CLASS}${METHOD}Body : public ${mb_base_class}
+{
+
+ // Method field declarations
+
+%{FLIST} ${mb_field_declaration}
+
+
+public:
+ static const ClassId CLASS_ID= ${CLASS_ID_INIT};
+ static const MethodId METHOD_ID = ${METHOD_ID_INIT};
+
+ typedef boost::shared_ptr<${CLASS}${METHOD}Body> shared_ptr;
+
+ // Constructors and destructors
+
+${mb_constructor_with_initializers}
+
+ ${CLASS}${METHOD}Body(ProtocolVersion version): ${mb_base_class}(version) {}
+ virtual ~${CLASS}${METHOD}Body() {}
+
+ // Attribute get methods
+
+%{FLIST} ${mb_field_get_method}
+
+ // Helper methods
+
+ inline void print(std::ostream& out) const
+ {
+ printPrefix(out);
+ out << "${CLASS}${METHOD}: ";
+%{FLIST} ${mb_field_print}
+ }
+
+ inline ClassId amqpClassId() const { return CLASS_ID; }
+ inline MethodId amqpMethodId() const { return METHOD_ID; }
+
+ u_int32_t size() const
+ {
+ u_int32_t sz = baseSize();
+%{FLIST} ${mb_body_size}
+ return sz;
+ }
+
+ void encodeContent(Buffer& ${mb_buffer_param}) const
+ {
+%{FLIST} ${mb_encode}
+ }
+
+ inline void decodeContent(Buffer& ${mb_buffer_param})
+ {
+%{FLIST} ${mb_decode}
+ }
+
+${mb_server_operation_invoke}
+
+}; // class ${CLASS}${METHOD}Body
+
+${version_namespace_end}
+} // namespace framing
+} // namespace qpid
+
+#endif
+