[Interest] Support for multiple 'out' parameters in qdbusxml2cpp
Matt Hoosier
matt.hoosier at gmail.com
Fri Jul 26 22:27:21 CEST 2013
I've observed that qdbusxml2cpp doesn't emit the QMetaCall that would
forward a D-Bus method-call message from the adaptor along to the "business
logic" class that provides slots to implement all the various methods.
E.g., if I have:
<method name="Foo">
<arg name="inValue" direction="in" type="s"/>
<arg name="outValue1" direction="out" type="s"/>
<arg name="outValue2" direction="out" type="s"/>
</method>
the adaptor code for this method ends up looking like:
...
public Q_SLOTS:
QString MyInterfaceAdaptor::Foo(const QString &inValue, QString
&outValue2)
{
// handle method call MyInterfaceAdaptor.Foo
//return static_cast<YourObjectType *>(parent())->Hello(inValue,
outValue);
}
Is there a design reason behind this? I examined the source to
qdbusxml2cpp, and it doesn't give any rationale why this type of call isn't
marshaled through a QMetaObject::invokeMethod() call the same as the
others. Passing the additional 'out' parameters as by-ref variables would
seem straightforward enough.
-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130726/af751924/attachment.html>
More information about the Interest
mailing list