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

Entrée/Sortie Java Discussion :

Accès dbus (hibernation machine)


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut Accès dbus (hibernation machine)
    Bonjour,

    Je fais face à un problème depuis quelques jours avec l'API dbus-java. Je travaille sous GNU/Linux (Ubuntu en particulier). J'essaie d'empêcher l'ordinateur de se mettre en veille lors de lon traitement. Je suis arrivé à extraire l'interface Inhibit qui fait partie de PowerManagement. On arrive à un code de ce style.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import java.util.List;
     
    import org.freedesktop.dbus.DBusInterface;
    import org.freedesktop.dbus.DBusSignal;
    import org.freedesktop.dbus.UInt32;
    import org.freedesktop.dbus.exceptions.DBusException;
     
    public interface Inhibit extends DBusInterface {
    	public static class HasInhibitChanged extends DBusSignal {
    		public final boolean hasInhibit;
     
    		public HasInhibitChanged(String path, boolean hasInhibit) throws DBusException {
    			super(path, hasInhibit);
    			this.hasInhibit = hasInhibit;
    		}
    	}
     
    	public List<String> GetRequests();
    	public boolean HasInhibit();
    	public void UnInhibit(UInt32 cookie);
    	public UInt32 Inhibit(String application, String reason);
    }
    Le soucis se situe lorsque j'essaie d'utiliser cette interface.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public static void inhibitHibernation() {
    	DBusConnection bus = null;
    	Inhibit inhibit    = null;
     
    	try {
    		// Get DBus connection
    		bus     = DBusConnection.getConnection(DBusConnection.SESSION);
     
    		// Get inhibit object
    		inhibit = bus.getRemoteObject("org.freedesktop.PowerManagement", "/org/freedesktop/PowerManagement/Inhibit", Inhibit.class);
     
    		// Inhibit hibernation and get inhibit cookie
    		cookie  = inhibit.Inhibit("application", "reason");
    	} catch (DBusException e) {
    		e.printStackTrace();
    	} finally {
    		// Close connection
    		if (bus != null)
    			bus.disconnect();
    	}
    }
    Une exception comme quoi la méthode "Inhibit" n'existe pas est générée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "Thread-2" org.freedesktop.DBus$Error$UnknownMethod: Method "Inhibit" with signature "ss" on interface "Inhibit" doesn't exist
    Je crois que je dois faire une erreur quelque part. J'ai testé un code équivalent en Python et ça marche très bien, je suppose donc que je m'y prend pas mal en Java. (Doc du GNOME Power Management si besoin)

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut
    J'ai trouvé ce qu'il ne clochait pas. Il suffit simplement de mettre l'interface Inhibit dans le bon package. À savoir, le package org.freedesktop.PowerManagement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pb d'accès d'une machine virtuelle linux sur win XP
    Par nora2311 dans le forum RedHat / CentOS / Fedora
    Réponses: 2
    Dernier message: 25/11/2008, 15h19
  2. question sur l'accée a un machine de mon réseau
    Par inter_amine dans le forum Windows XP
    Réponses: 4
    Dernier message: 30/04/2007, 16h32
  3. [Sécurité] Limiter l'accès à une machine unique
    Par messier79 dans le forum Langage
    Réponses: 3
    Dernier message: 31/10/2006, 13h33
  4. [ Hibernate ] Machine à etats
    Par bomber dans le forum Hibernate
    Réponses: 3
    Dernier message: 13/06/2005, 18h09
  5. probleme d'acces a une machine sur un réseau
    Par zorian dans le forum Développement
    Réponses: 3
    Dernier message: 09/06/2004, 13h04

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