summaryrefslogtreecommitdiff
path: root/qpid/cpp/rubygen/templates/Operations.rb
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-02-27 16:37:48 +0000
committerAlan Conway <aconway@apache.org>2008-02-27 16:37:48 +0000
commit0e9451480c83511bd37f99d83ad82b30b399f05d (patch)
treecacafa4337b63df842398a43c9e33cc29bf324fe /qpid/cpp/rubygen/templates/Operations.rb
parentba38d82dfdaf089f26ae204326d36190c46fd1c3 (diff)
downloadqpid-python-0e9451480c83511bd37f99d83ad82b30b399f05d.tar.gz
Generate code for both 0-99 preview and 0-10 final specs .
0-10 final: extended code generation and non-generated support classes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@631638 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen/templates/Operations.rb')
-rwxr-xr-xqpid/cpp/rubygen/templates/Operations.rb96
1 files changed, 0 insertions, 96 deletions
diff --git a/qpid/cpp/rubygen/templates/Operations.rb b/qpid/cpp/rubygen/templates/Operations.rb
deleted file mode 100755
index 91007ef3e1..0000000000
--- a/qpid/cpp/rubygen/templates/Operations.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env ruby
-# Usage: output_directory xml_spec_file [xml_spec_file...]
-#
-$: << '..'
-require 'cppgen'
-require 'fileutils'
-require 'etc'
-require 'pathname'
-
-class OperationsGen < CppGen
-
- def initialize(chassis, outdir, amqp)
- super(outdir, amqp)
- @chassis=chassis
- @classname="AMQP_#{@chassis.caps}Operations"
- end
-
- def handler_method (m)
- return_type = m.result ? m.result.cpptype.ret : "void"
- gen "\nvirtual #{return_type} #{m.cppname}("
- gen m.signature.join(",\n")
- gen ") = 0;\n"
- end
-
- def handler_classname(c) c.name.caps+"Handler"; end
-
- def handler_class(c)
- if (!c.methods_on(@chassis).empty?)
- handlerclass=handler_classname c
- gen <<EOS
-// ==================== class #{handlerclass} ====================
-class #{handlerclass} {
- // Constructors and destructors
- public:
- class Invoker; // Declared in #{@chassis.caps}Invoker
-
- #{handlerclass}(){};
- virtual ~#{handlerclass}() {}
- // Protocol methods
-EOS
- c.methods_on(@chassis).each { |m| handler_method(m) if !m.content() }
- gen <<EOS
-}; // class #{handlerclass}
-
-
-EOS
- end
- end
-
- def handler_get(c)
- if (!c.methods_on(@chassis).empty?)
- handlerclass=handler_classname c
- gen "virtual #{handlerclass}* get#{handlerclass}() = 0;\n"
- end
- end
-
- def generate()
- h_file("qpid/framing/#{@classname}.h") {
- gen <<EOS
-#include <sstream>
-#include "qpid/framing/ProtocolVersion.h"
-#include "qpid/framing/amqp_structs.h"
-
-namespace qpid {
-namespace framing {
-
-class AMQMethodBody;
-
-class #{@classname} {
- public:
- class Invoker; // Declared in #{@chassis.caps}Invoker
-
- virtual ~#{@classname}() {}
-
- virtual ProtocolVersion getVersion() const = 0;
-
- // Inner classes
-EOS
- indent { @amqp.classes.each { |c| handler_class(c) } }
- gen <<EOS
-
- // Method handler get methods
-
-EOS
- indent { @amqp.classes.each { |c| handler_get(c) } }
- gen <<EOS
-}; /* class #{@classname} */
-}}
-EOS
-}
- end
-end
-
-OperationsGen.new("client",ARGV[0], Amqp).generate()
-OperationsGen.new("server",ARGV[0], Amqp).generate()
-