|
From: David K. <zu...@li...> - 2009-03-19 22:25:14
|
Hi,
I grabbed dbus-c++ from the gitorious branch and started playing with the
examples. I actually stopped right at the simplest example -
examples/echo.
Invoking the Hello method as mentioned in README results in an empty
string. When I looked into the issue, it seems to be a bug in the server
glue (generated by dbusxx-xml2cpp), specifically, the marshaller:
::DBus::Message _Hello_stub(const ::DBus::CallMessage &call)
{
::DBus::MessageIter ri = call.reader();
std::string argin1;
ri >> argin1;
std::string argout1;
Hello(argin1);
::DBus::ReturnMessage reply(call);
::DBus::MessageIter wi = reply.writer();
wi << argout1;
return reply;
}
changing the Hello() invocation into "argout1 = Hello(argin1)" fixes the
issue.
Looking at the stub (and at the generator), this is a general problem.
Being all new to this... I see where in generator is this code output, but
I don't really know how to fix this.
Best regards,
David Kozub
zu...@li...
|