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 | 6bf200b4a953e3e7ae521c1e269e420af7e52cba (patch) | |
tree | f9cbe87cb8c85f6fc902d1d2874139257c4ef6f9 /cpp/rubygen/cppgen.rb | |
parent | 12ea725d2b2cd95e9a8ef5f4b4511e841054b628 (diff) | |
download | qpid-python-6bf200b4a953e3e7ae521c1e269e420af7e52cba.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/qpid@631740 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/rubygen/cppgen.rb')
-rwxr-xr-x | cpp/rubygen/cppgen.rb | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/cpp/rubygen/cppgen.rb b/cpp/rubygen/cppgen.rb index e3462d60d7..edee72e0bd 100755 --- a/cpp/rubygen/cppgen.rb +++ b/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 |