Bonjour,
J'ai développé un outil en Qt, qui publie pour d'autres process connectés à DBus, des méthodes et des signaux; l'outil peut accessoirement aussi utiliser des méthodes, et envoyer des signaux. Il est enfin censé écouter tout signal broadcasté sur Dbus, pour en traiter certains.
Mon souci est que je ne sais pas comment capter des signaux "quelconques", c'est à dire dont je ne connais pas à priori le nom ni la signature.
En effet, pour traiter un signal, il me faut explicitement utiliser, soit un QDBusAdaptor (la méthode la plus facile) :
connect(maa, SIGNAL(ExplicitSignal(int)), sobject, SLOT(ProcessThisSignal(int)
où maa est un QDBusAdaptor déclarant le signal "ExplicitSignal(int i)".
soit, mais sans adaptor, mais avec impossibilité de récupérer les paramètres du signal :
1 2 3
| QDBusConnection::sessionBus().connect(QString(), QString(),
"name_of_a_valid_dbus_interface", "ExplicitSignal",
sobject, SLOT(ProcessThisSignal() ) |
Comment récupérer un signal dont le nom et la signature ne sont pas connus à l'avance ?
Merci d'avance.
Partager