diff options
author | Alan Conway <aconway@apache.org> | 2008-02-27 21:49:04 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-02-27 21:49:04 +0000 |
commit | 4e401001793beb8c54b311b81e8e56208d2776a8 (patch) | |
tree | 987c77e71fdd952c259ea0ebf069e5f7450fba8b /qpid/cpp/rubygen/cppgen.rb | |
parent | 1da529bbb6b0a5e21677413b0667fa6f3125f127 (diff) | |
download | qpid-python-4e401001793beb8c54b311b81e8e56208d2776a8.tar.gz |
Generating domains, structs, commands and controls for 0-10 final spec.
Not yet generating: holders, visitors.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@631740 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen/cppgen.rb')
-rwxr-xr-x | qpid/cpp/rubygen/cppgen.rb | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/qpid/cpp/rubygen/cppgen.rb b/qpid/cpp/rubygen/cppgen.rb index e3462d60d7..edee72e0bd 100755 --- a/qpid/cpp/rubygen/cppgen.rb +++ b/qpid/cpp/rubygen/cppgen.rb @@ -61,7 +61,7 @@ class String name=path.pop return name.typename if path.empty? path.map! { |n| n.nsname } - return "amqp_0_10::"+(path << name.caps).join("::") + return (path << name.caps).join("::") end alias :typename :caps @@ -137,12 +137,8 @@ class AmqpMethod def body_name() parent.name.caps+name.caps+"Body"; end end -class AmqpAction - def nsname() name.namespace; end - def classname() name.typename; end - def funcname() parent.name.funcname + name.caps; end - - def parameters() +module AmqpHasFields + def parameters() fields.map { |f| "#{f.paramtype} #{f.cppname}_"}.join(",\n") end @@ -155,21 +151,26 @@ class AmqpAction end def initializers() - fields.map { |f| "#{f.cppname}(#{f.cppname}_)}"}.join(",\n") + fields.map { |f| "#{f.cppname}(#{f.cppname}_)"}.join(",\n") end +end +class AmqpAction + def classname() name.typename; end + def funcname() parent.name.funcname + name.caps; end + include AmqpHasFields end -class AmqpCommand +class AmqpCommand < AmqpAction def base() "Command"; end end -class AmqpControl +class AmqpControl < AmqpAction def base() "Control"; end end class AmqpClass - def cppname() name.caps; end + def cppname() name.caps; end # preview def nsname() name.nsname; end end @@ -212,9 +213,14 @@ class AmqpResult end class AmqpStruct - def cpp_pack_type() AmqpDomain.lookup_type(pack()) or CppType.new("uint16_t"); end + include AmqpHasFields + + def cpp_pack_type() # preview + AmqpDomain.lookup_type(pack()) or CppType.new("uint16_t"); + end def cpptype() parent.cpptype; end # preview def cppname() cpptype.name; end # preview + def classname() name.typename; end end |