summaryrefslogtreecommitdiff
path: root/qpid/cpp/rubygen/cppgen.rb
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-10-30 22:39:46 +0000
committerAlan Conway <aconway@apache.org>2007-10-30 22:39:46 +0000
commit32bfb737f530e983876fc4d39d6a07b22368800e (patch)
treed0a6da123d4403405c3fd1d763c96f5e89a1ab9f /qpid/cpp/rubygen/cppgen.rb
parent4cf74e8632e3492badb745673cb7557264f9d434 (diff)
downloadqpid-python-32bfb737f530e983876fc4d39d6a07b22368800e.tar.gz
Client API: fix keyword parameter ambiguities for beta client API.
Classes: - client::no_keyword::Session_0_10 - plain defaulted signatures - client::Session_0_10 - keyword API. Keyword API changes: - keywords in client::arg namespace, user says: s.bind(arg::queue="x"...) - user can omit with: using namespace client::arg; s.bind(queue="x"...) - No trailing "_" required on session functions. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@590498 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen/cppgen.rb')
-rwxr-xr-xqpid/cpp/rubygen/cppgen.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/qpid/cpp/rubygen/cppgen.rb b/qpid/cpp/rubygen/cppgen.rb
index ceda5e039c..2590d48f7b 100755
--- a/qpid/cpp/rubygen/cppgen.rb
+++ b/qpid/cpp/rubygen/cppgen.rb
@@ -97,12 +97,13 @@ class AmqpField
def cppname() name.lcaps.cppsafe; end
def cpptype() domain.cpptype; end
def bit?() domain.type_ == "bit"; end
+ def signature() cpptype.param+" "+cppname; end
end
class AmqpMethod
def cppname() name.lcaps.cppsafe; end
def param_names() fields.map { |f| f.cppname }; end
- def signature() fields.map { |f| f.cpptype.param+" "+f.cppname }; end
+ def signature() fields.map { |f| f.signature }; end
def body_name() parent.name.caps+name.caps+"Body"; end
end
@@ -197,7 +198,7 @@ class CppGen < Generator
genl
yield
genl
- genl('}'*names.size+" // "+name)
+ genl('}'*names.size+" // namespace "+name)
genl
end
@@ -236,3 +237,11 @@ class CppGen < Generator
end
end
+# Fully-qualified class name
+class FqClass < Struct.new(:fqname,:namespace,:name,:file)
+ def initialize(fqclass)
+ names=fqclass.split "::"
+ super(fqclass, names[0..-2].join('::'), names[-1], names.join("/"))
+ end
+end
+