diff options
-rw-r--r-- | cpp/lib/common/Makefile.am | 2 | ||||
-rw-r--r-- | cpp/lib/common/framing/AMQP_HighestVersion.h | 45 | ||||
-rw-r--r-- | gentools/src/org/apache/qpid/gentools/CppGenerator.java | 4 | ||||
-rw-r--r-- | gentools/src/org/apache/qpid/gentools/Main.java | 3 | ||||
-rw-r--r-- | gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl | 31 |
5 files changed, 84 insertions, 1 deletions
diff --git a/cpp/lib/common/Makefile.am b/cpp/lib/common/Makefile.am index b9f83f1f71..e1f7503282 100644 --- a/cpp/lib/common/Makefile.am +++ b/cpp/lib/common/Makefile.am @@ -72,6 +72,7 @@ libqpidcommon_la_SOURCES = \ $(framing)/ProtocolVersionException.cpp \ $(framing)/Value.cpp \ $(gen)/AMQP_ClientProxy.cpp \ + $(gen)/AMQP_HighestVersion.cpp \ $(gen)/AMQP_MethodVersionMap.cpp \ $(gen)/AMQP_ServerProxy.cpp \ Exception.cpp \ @@ -104,6 +105,7 @@ nobase_pkginclude_HEADERS = \ $(framing)/Value.h \ $(framing)/amqp_framing.h \ $(framing)/amqp_types.h \ + $(framing)/AMQP_HighestVersion.h \ Exception.h \ ExceptionHolder.h \ QpidError.h \ diff --git a/cpp/lib/common/framing/AMQP_HighestVersion.h b/cpp/lib/common/framing/AMQP_HighestVersion.h new file mode 100644 index 0000000000..aecf92ca22 --- /dev/null +++ b/cpp/lib/common/framing/AMQP_HighestVersion.h @@ -0,0 +1,45 @@ +/* + * + * 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 Qpid Gentools v.0.1 - do not modify. + * Supported AMQP versions: + * 0-9 + * 0-10 + * 8-0 + */ + + +#ifndef _AMQP_HighestVersion_ +#define _AMQP_HighestVersion_ + +#include <ProtocolVersion.h> + + +namespace qpid { +namespace framing { + +static ProtocolVersion highestProtocolVersion; + +} /* namespace framing */ +} /* namespace qpid */ + +#endif diff --git a/gentools/src/org/apache/qpid/gentools/CppGenerator.java b/gentools/src/org/apache/qpid/gentools/CppGenerator.java index 7aa6b2d21c..c96cb2b08f 100644 --- a/gentools/src/org/apache/qpid/gentools/CppGenerator.java +++ b/gentools/src/org/apache/qpid/gentools/CppGenerator.java @@ -348,6 +348,10 @@ public class CppGenerator extends Generator return generateServerOperationsInvoke(thisClass, method, version, 4, 4); if (token.compareTo("${mb_buffer_param}") == 0) return method.fieldMap.size() > 0 ? " buffer" : ""; + if (token.compareTo("${hv_latest_major}") == 0) + return String.valueOf(globalVersionSet.last().getMajor()); + if (token.compareTo("${hv_latest_minor}") == 0) + return String.valueOf(globalVersionSet.last().getMinor()); throw new AmqpTemplateException("Template token " + token + " unknown."); } diff --git a/gentools/src/org/apache/qpid/gentools/Main.java b/gentools/src/org/apache/qpid/gentools/Main.java index 28bf7e02c1..4f33ff8bde 100644 --- a/gentools/src/org/apache/qpid/gentools/Main.java +++ b/gentools/src/org/apache/qpid/gentools/Main.java @@ -201,7 +201,8 @@ public class Main new File(tmplDir + Utils.fileSeparator + "AMQP_ClientProxy.cpp.tmpl"), new File(tmplDir + Utils.fileSeparator + "AMQP_Constants.h.tmpl"), new File(tmplDir + Utils.fileSeparator + "AMQP_MethodVersionMap.h.tmpl"), - new File(tmplDir + Utils.fileSeparator + "AMQP_MethodVersionMap.cpp.tmpl") + new File(tmplDir + Utils.fileSeparator + "AMQP_MethodVersionMap.cpp.tmpl"), + new File(tmplDir + Utils.fileSeparator + "AMQP_HighestVersion.cpp.tmpl") }; methodTemplateFiles = new File[] { diff --git a/gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl b/gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl new file mode 100644 index 0000000000..e82a8d697d --- /dev/null +++ b/gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl @@ -0,0 +1,31 @@ +&{AMQP_HighestVersion.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 <AMQP_HighestVersion.h> + +qpid::framing::ProtocolVersion highestProtocolVersion(${hv_latest_major}, ${hv_latest_minor}); |