2010-08-11 17 views
0

Je suis la programmation C++ sur Ubuntu, en utilisant qdbus et je l'ai extrait de code suivant:qdbus problème: obtenir org.freedesktop.DBus.Error.UnknownMethod, mais la méthode existe

this->m_cRemoteInterface = new QDBusInterface("org.my.service", "/data", "org.freedesktop.DBus.Properties.Get"); 

QDBusReply<uint64_t> cResult = m_cRemoteInterface->call("property1"); 

Le code throws l'erreur suivante:

org.freedesktop.DBus.Error.UnknownMethod: Method "property1" with signature "" on interface "org.freedesktop.DBus.Properties.Get" doesn't exist

Mais quand je lance la commande suivante dans un shell, il renvoie la valeur correcte:

dbus org.my.service /data org.freedesktop.DBus.Properties.Get " " property1

Que pourrais-je faire de mal?

Merci à l'avance, emi

Répondre

0

Après un après-midi de piste et erreur:

Je déclarai

org.freedesktop.DBus.Properties.Get

comme interface, ce qui ne va pas.

je devais utiliser seulement

org.freedesktop.DBus.Properties

comme interface, puis

call("Get", " ", "property1");

ce que quelqu'un aide mai. :)