From 9d32e58f281e6ecefcbde45a897395162395e577 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 30 Oct 2007 22:39:46 +0000 Subject: 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/qpid@590498 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/rubygen/cppgen.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'cpp/rubygen/cppgen.rb') diff --git a/cpp/rubygen/cppgen.rb b/cpp/rubygen/cppgen.rb index ceda5e039c..2590d48f7b 100755 --- a/cpp/rubygen/cppgen.rb +++ b/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 + -- cgit v1.2.1