Net::DBus and qdbus disagreement

Robert Wenner robert.wenner at gmx.de
Sun Dec 18 12:57:34 PST 2011


Hi all,

I have a problem opening KMail's composer window from the Net::DBus Perl 
module.

When I run the example that comes with Net::DBus, it only shows me one 
openComposer method which takes 6 arguments:

robert at habanero:~/hrsn/Net-DBus-1.0.0/examples$ perl dump-object.pl 
org.kde.kmail /KMail | grep -A 7 openComposer
    Method: openComposer
      > string (to)
      > string (cc)
      > string (bcc)
      > string (subject)
      > string (body)
      > bool (hidden)
      < objectpath

However, qdbus shows 3 methods, and I want to call the one that takes 9 
arguments.

robert at habanero:~/hrsn/Net-DBus-1.0.0/examples$ qdbus org.kde.kmail /KMail 
| grep openComposer 
method QDBusObjectPath org.kde.kmail.kmail.openComposer(QString to, 
QString cc, QString bcc, QString subject, QString body, bool hidden)
method int org.kde.kmail.kmail.openComposer(QString to, QString cc, 
QString bcc, QString subject, QString body, bool hidden, QString 
attachName, QByteArray attachCte, QByteArray attachData, QByteArray 
attachType, QByteArray attachSubType, QByteArray attachParamAttr, QString 
attachParamValue, QByteArray attachContDisp, QByteArray attachCharset, 
uint identity)
method int org.kde.kmail.kmail.openComposer(QString to, QString cc, 
QString bcc, QString subject, QString body, bool hidden, QString 
messageFile, QStringList attachmentPaths, QStringList customHeaders)
robert at habanero:~/hrsn/Net-DBus-1.0.0/examples$ 

Consequently, if I try to call the 9 argument version from Perl, it fails:
robert at habanero:~$ tm-mail.pl
expected 6 params, but got 9 at 
/usr/local/lib/perl/5.10.1/Net/DBus/Binding/Introspector.pm line 1115, 
<DATA> line 303.

What am I missing here?
What do I need to do to make Net::DBus see and call the other methods?

Robert


More information about the dbus mailing list