IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

DBus activation avec qt dbus


Sujet :

Qt

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 45
    Points
    45
    Par défaut DBus activation avec qt dbus
    Bonjour,

    Je développe un client en Qt qui communique avec une application liée à un service dbus. Je voudrais que si le service n'est pas démarré, la connection avec celui-ci la démarre.
    J'ai lu ce tutoriel, qui ne parle que du côté serveur qui est déjà fait.

    J'ai vérifié, il y a bien un org.appli.service dans /usr/share/dbus-1/services/, mais quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ConfigurationManagerInterface * interface = new ConfigurationManagerInterface(
           "org.appli", 
           "/org/appli/ConfigurationManager",
           QDBusConnection::sessionBus());
     
    if(!interface->isValid())
    	throw "Error : service not connected.";
    ca m'envoie l'erreur.
    ConfigurationManagerInterface a été fabriquée avec qdbusxml2cpp.
    Il y a un client en GTK et avec celui-ci le service démarre bien.
    Qu'est-ce qui me manque??

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    un peu tard mais peut servir ?


    Si ConfigurationManagerInterface est de classe QDBusAbstractInterface
    (version QT 4.x), il manque un paramètre, qui est le nom de l'interface.

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ConfigurationManagerInterface * interface = new ConfigurationManagerInterface(
           "org.appli", 
           "/org/appli/ConfigurationManager", "org.appli.interfacename",
           QDBusConnection::sessionBus());

    D'autre part vérifie que le service travaille , par
    > qdbus org.appli.service /org/appli/ConfigurationManager
    qui devrait de renvoyer les méthodes et signaux publiés et, juste avant, le nom de l'interface à utiliser
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     > qdbus org.appli.service /org/appli/ConfigurationManager 
    method QString com.ICT.ICTInterface.SIPUA_ACCEPT_CALL_REQ(int callid)
    me dit que la méthode SIPUA etc est fournie par ce service et cet objet, via l'interface "com.ICT.ICTInterface"
    Mais attention, il est aussi possible que des méthodes soient invisibles et là ...

    PS: Je débute mais si ça peut aider ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 45
    Points
    45
    Par défaut
    En fait, j'ai simplement remplacé mon isValid(), par un isConnected(), parce que je ne comprends pas trop ce que fait isValid.
    Même quand elle me répond false et que j'envoie une requête à l'interface invalide, celle-ci répond correctement, donc je ne vois pas en quoi elle est invalide...


    @lepage14, le nom de l'interface était rempli automatiquement dans le constructeur de la classe ConfigurationManagerInterface avec staticInterfaceName(). C'est une classe générée par qdbusxml2cpp.
    Merci en tout cas!

Discussions similaires

  1. dbus installation avec Slackware
    Par karastojko dans le forum Administration système
    Réponses: 0
    Dernier message: 10/05/2009, 22h14
  2. operator>> pour une QMap avec qt dbus
    Par bourriquet_42 dans le forum Qt
    Réponses: 1
    Dernier message: 18/02/2009, 17h49
  3. activer avec vba un lien hypertexte contenu dans une page html
    Par epaminondas dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/05/2008, 10h55
  4. Apache localhost Pb activation avec ip
    Par bipbipman2003 dans le forum Apache
    Réponses: 15
    Dernier message: 23/03/2007, 14h17
  5. Lier Editeur Active avec JMV
    Par Bba_M dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/06/2006, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo