diff options
| author | Gordon Sim <gsim@apache.org> | 2007-08-15 17:26:43 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2007-08-15 17:26:43 +0000 |
| commit | 0ebb8f7e9efa2d28f3ff1ca501c749e04996e402 (patch) | |
| tree | 43b8ae1fa672616bd32175327f8eac66bfb6d131 /qpid/cpp/rubygen | |
| parent | effbd83ce80c712b26b9c3bb38cd67867c95bbf1 (diff) | |
| download | qpid-python-0ebb8f7e9efa2d28f3ff1ca501c749e04996e402.tar.gz | |
Altered old client channel to use new generated session interface (primarily to reduce the number of places where method bodies are constructed).
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@566274 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen')
| -rw-r--r-- | qpid/cpp/rubygen/templates/Session.rb | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/qpid/cpp/rubygen/templates/Session.rb b/qpid/cpp/rubygen/templates/Session.rb index fd861b7a4e..eaa4347974 100644 --- a/qpid/cpp/rubygen/templates/Session.rb +++ b/qpid/cpp/rubygen/templates/Session.rb @@ -13,7 +13,7 @@ class SessionGen < CppGen end def declare_method (m) - gen "Response #{m.amqp_parent.name.lcaps}#{m.cppname.caps}(" + gen "Response #{m.amqp_parent.name.lcaps}#{m.name.caps}(" if (m.content()) params=m.signature + ["const MethodContent& content"] else @@ -28,7 +28,7 @@ class SessionGen < CppGen end def define_method (m) - gen "Response Session::#{m.amqp_parent.name.lcaps}#{m.cppname.caps}(" + gen "Response Session::#{m.amqp_parent.name.lcaps}#{m.name.caps}(" if (m.content()) params=m.signature + ["const MethodContent& content"] else @@ -89,8 +89,8 @@ public: ~#{@classname}(); ReceivedContent::shared_ptr get() { return impl->get(); } - void close() { impl->close(); parent->released(impl); } - + void setSynchronous(bool sync) { impl->setSync(sync); } + void close(); EOS indent { @amqp.amqp_classes.each { |c| declare_class(c) if !excludes.include?(c.name) } } gen <<EOS @@ -117,7 +117,19 @@ namespace client { #{@classname}::~#{@classname}() { impl->stop(); - parent->released(impl); + if (parent) { + parent->released(impl); + parent.reset(); + } +} + +void #{@classname}::close() +{ + impl->close(); + if (parent) { + parent->released(impl); + parent.reset(); + } } EOS |
