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] Plug-in qui ne fonctionne pas


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut [DBus] Plug-in qui ne fonctionne pas
    Bonjour, j'ai fait le plugin:
    https://github.com/alphaonex86/Ultra.../Listener/dbus
    Et plus précisément:
    https://github.com/alphaonex86/Ultra...s/listener.cpp
    Hors quand je tente avec qdbusviewer, la méthode ne semble pas appelé.

    Merci d'avance de tout aide que vous pouvez m'apporté.
    C'est un pas important pour l'intégration sous KDE/Gnome et tout autre environnement de bureau de linux.

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2005
    Messages : 464
    Par défaut
    Salut !
    J'ai parcouru le code pour essayer de comprendre, mais certaines chose m'échappe :
    Pourquoi avoir définit un path arrêté à "/". C'est permis cela ? Finalement il n'y a pas de nom d'objet je suis surpris de voir que ça marche.

    • Je ne savais même pas que registerObject() était capable d'exporter seul l'interface D-Bus. Pour moi il fallait utiliser une classe dérivée de QBusAbstractAdaptor, c'est d'ailleurs que ce dit la doc Qt.
    • Du coup tu délègues à la couche Qt de donner un nom à ton interface et peut-être même à tes slots (bon la j'imagine que les noms des méthodes restent fidèles).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Q_SCRIPTABLE void copy(QStringList sources,QString destination);
    Q_SCRIPTABLE void move(QStringList sources,QString destination);
    Tes slots étant publiques je ne crois pas que tu ais besoin de Q_SCRIPTABLE

    Que dit la méthode d'instrospection de qdbusviewer ?

    Est-ce que tu as essayé de passer par une autre interface (console, ou meme codé). J'ai essayé d'utiliser d'autre méthodes d'autres interfaces via la GUI je n'ai pas été convaincu que ça fonctionne.

  3. #3
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    Car j'ai suivi l'exemple fourni par Qt:
    http://doc.qt.nokia.com/4.8/dbus-pingpong-pong-cpp.html

    qdbusviewer me dit que tout vas bien, mais quand j'appelle la méthode elle n'est pas appeller dans l'application.

    J'ai essayer que la quit, qui appelle bien les fonctions sans arguements.

  4. #4
    Membre éclairé

    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2005
    Messages : 464
    Par défaut
    L'exemple montre une chose mais la doc la doc en dit une autre.

    Voilà un autre exemple que j'ai pu tester et qui marche.

    Malgré tout j'essaierai cet exemple pong.

  5. #5
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    ok, je me baserai sur ça.

    Mais c'est quand même grave donc d'avoir un exemple foireux dans Qt

  6. #6
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    En recopiant exactement l'example, qdbusviewer me retourne maitenant:
    Unable to find method copy on path /DBus in interface info.first-world.CatchCopy.DBus

    http://pastebin.com/jD4UL9cp
    http://pastebin.com/QFnBAfRy
    http://pastebin.com/cq3W3LW4

    Je séche.

Discussions similaires

  1. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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