diff options
Diffstat (limited to 'qpid/cpp/rubygen/framing.0-10/Session.rb')
-rw-r--r-- | qpid/cpp/rubygen/framing.0-10/Session.rb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/qpid/cpp/rubygen/framing.0-10/Session.rb b/qpid/cpp/rubygen/framing.0-10/Session.rb index 709491e42e..48a1608af0 100644 --- a/qpid/cpp/rubygen/framing.0-10/Session.rb +++ b/qpid/cpp/rubygen/framing.0-10/Session.rb @@ -77,9 +77,9 @@ end class ContentField # For extra content parameters def cppname() "content" end - def signature() "const MethodContent& content" end - def sig_default() signature+"="+"DefaultContent(std::string())" end - def unpack() "p[arg::content|DefaultContent(std::string())]"; end + def signature() "const Message& content" end + def sig_default() signature+"="+"Message(std::string())" end + def unpack() "p[arg::content|Message(std::string())]"; end def doc() "Message content"; end end @@ -160,6 +160,10 @@ class SessionNoKeywordGen < CppGen cpp_file(@file) { include @classname include "qpid/framing/all_method_bodies.h" + include "qpid/client/SessionImpl.h" + include "qpid/client/MessageImpl.h" + include "qpid/client/PrivateImplPrivate.h" + include "qpid/client/CompletionImpl.h" namespace(@namespace) { genl "using namespace framing;" session_methods(sync_default).each { |m| @@ -171,8 +175,8 @@ class SessionNoKeywordGen < CppGen genl "#{m.body_name} body(#{args});"; genl "body.setSync(sync);" sendargs="body" - sendargs << ", content" if m.content - async_retval="#{m.return_type(true)}(impl->send(#{sendargs}), impl)" + sendargs << ", *privateImplGetPtr(content)" if m.content + async_retval="#{m.return_type(true)}(new CompletionImpl(impl->send(#{sendargs}), impl))" if @async then genl "return #{async_retval};" else |