Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
liquid [Le 18/05/2010, 13:22] spomky |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>point montage gestion KDE4 API BROUILLON}} | ||
- | ====== Liquid ====== | ||
- | Liquid est un module KDED qui permet de lister les points de montage disponibles sur un ordinateur et d'être averti lors de tout ajout ou suppression de l'un d'entre eux. | ||
- | |||
- | ===== Avant tout ===== | ||
- | Vous pouvez utiliser le dépôt de [[utilisateurs:spomky|Spomky ]] afin de faciliter l'installation du logiciel et ses dépendances. | ||
- | |||
- | Le code source est disponible sous [[https://edge.launchpad.net/fusible|Launchpad]] et peut être téléchargé avec [[Bazaar]]. | ||
- | |||
- | ===== Installation ===== | ||
- | Liquid est disponible sous forme de paquets binaires x86 et x86_64 pour Lucid Lynx. | ||
- | |||
- | Installez simplement le paquet [[apt://liquid]]. | ||
- | Pour développer en utilisant Liquid, installez le paquet [[apt://liquid-dev]]. | ||
- | |||
- | <note important>Vous devrez quitter votre session KDE puis revenir pour que Liquid soit pris en compte.</note> | ||
- | |||
- | ===== Activation/Désactivation ===== | ||
- | Liquid est un module KDED ; il s'exécutera en tâche de fond dès l'ouverture d'une session. | ||
- | |||
- | Si vous souhaitez arrêter Liquid ou désactiver le lancement automatique, rendez-vous dans le panneau "Configuration du système" de KDE, choisissez l'onglet "Anvancé" puis sélectionnez "Gestionnaire de services". | ||
- | |||
- | Recherchez ensuite "Service Liquid" dans la partie "Services au démarrage" et activez-le comme il vous plaira. | ||
- | |||
- | ===== Configuration ===== | ||
- | Liquid peut être configuré via le panneau "Configuration du système" de KDE. | ||
- | Rendez-vous à l'onglet "Avancé" puis choisissez "Ponts de montage".\\ | ||
- | Vous changements sont pris en compte dès que vous les aurez validés. | ||
- | |||
- | Liquid utilise KNotify pour avertir les utilisateurs dès qu'un point de montage est ajouté ou supprimé. Dans l'onglet "Général", choisissez "Notifications" puis cherchez "Service Liquid".\\ | ||
- | Sélectionnez ensuite les méthodes de notifications selon votre convenance. | ||
- | |||
- | ===== Utilisation ===== | ||
- | Liquid met à votre disposition une interface DBus proposant les méthodes et signaux suivants :\\ | ||
- | * Signal : Added | ||
- | * Signal : Removed | ||
- | * Méthode : List | ||
- | * Méthode : updateSettings | ||
- | |||
- | Les signaux envoient une liste de chaînes de caractères. Ces chaînes de caractères représentent les points de montage.\\ | ||
- | La méthode List envoie une liste de chaînes de caractères représentant les points de montage disponibles actuellement.\\ | ||
- | updateSettings permet à Liquid de relire sa configuration. Cette méthode n'est utilie que si les paramètres ont été modifiés manuellement ou via un logiciel tiers. | ||
- | |||
- | ===== Développer avec l'API Liquid ===== | ||
- | L'API Liquid met à disposition des classes objet .\\ | ||
- | <note important>Seuls les classes objet C++ sont disponibles</note> | ||
- | ==== notifier ==== | ||
- | //notifier// averti lorsqu'un point de montage est ajouté ou supprimé. | ||
- | |||
- | Pour utiliser //notifier//, ajoutez l'en-tête correspondant : | ||
- | <code>#include <Liquid/notifier.h></code> | ||
- | |||
- | === Connexion des signaux === | ||
- | La partie de code suivante connecte les signaux de //notifier// aux slots correspondant au signal. | ||
- | <code> connect(Liquid::Notifier::instance(), SIGNAL( mountpointAdded( Liquid::Mountpoint& ) ), this, SLOT( newMountPointAdded( Liquid::Mountpoint& ) ) ); | ||
- | connect(Liquid::Notifier::instance(), SIGNAL( mountpointRemoved( Liquid::Mountpoint& ) ), this, SLOT( newMountPointDeleted( Liquid::Mountpoint& ) ) );</code> | ||
- | |||
- | === État de Liquid === | ||
- | Pour savoir si Liquid est fonctionnel -c'est à dire correctement connecté à l'interface DBus-, exécutez simplement la fonction isReady : | ||
- | <code>if( Liquid::Notifier::instance()->isReady() ) ...</code> | ||
- | Elle renvoie //true// si tout est bon ; sinon //false//. | ||
- | |||
- | ==== mountpoint ==== | ||
- | //mountpoint// permet d'obtenir la liste des points de montage en cours et les informations sur ceux-ci. | ||
- | |||
- | Pour utiliser //mountpoint//, ajoutez l'en-tête correspondant : | ||
- | <code>#include <Liquid/mountpoint.h></code> | ||
- | === Obtenir la liste des points de montage === | ||
- | <code>QList<Liquid::Mountpoint> result = Liquid::Mountpoint::allMountpoints();</code> | ||
- | |||
- | === Obtenir des informations sur un point de montage === | ||
- | L'objet //Liquid::Mountpoint// dispose de nombreuses fonctions : | ||
- | * Vérifier si l'objet est valide : //bool isValid( void ) const;// | ||
- | * Nom du système de fichiers : //QString getFilesystemName( void ) const;// | ||
- | * Type du système de fichierse : //QString getFilesystemType( void ) const;// | ||
- | * Chemin du système de fichiers : //QString getFilesystemPath( void ) const;// | ||
- | * Nom du périphérique (si disponible) : //QString getRealDeviceName( void ) const;// | ||
- | * Options passées à la fonction mount : //QStringList getOptions( void) const;// | ||
- | * Taille totale : //QString getSize( const SizeType type = Liquid::Mountpoint::Decimal ) const;// | ||
- | * Taille libre : //QString getSizeFree( const SizeType type = Liquid::Mountpoint::Decimal ) const;// | ||
- | * Taille disponible : //QString getSizeAvailable( const SizeType type = Liquid::Mountpoint::Decimal ) const;// | ||
- | * Nombre total de blocs : //qlonglong getBlocks( void ) const;// | ||
- | * Taille d'un bloc : //qlonglong getBlocksSize( void ) const;// | ||
- | * Nombre de blocs libres : //qlonglong getBlocksFree( void ) const;// | ||
- | * Nombre de blocs disponibles : //qlonglong getBlocksAvailable( void ) const;// | ||
- | * Nombre de fichiers : //qlonglong getFiles( void ) const;// | ||
- | * Nombre de fichiers libres : //qlonglong getFilesFree( void ) const;// | ||
- | * Taille maximale des noms de fichiers : //qlonglong getFilenameMaxLength( void ) const;// | ||
- | * Identifiant du propriétaire : //uid_t getOwnerUID( void ) const;// | ||
- | * Groupe du propriétaire : //gid_t getOwnerGID( void ) const;// | ||
- | * Login du propriétaire : //QString getOwnerLogin( void ) const;// | ||
- | * Nom complet du propriétaire : //QString getOwnerFullName( void ) const;// | ||
- | |||
- | === Exemple === | ||
- | <code>QList<Liquid::Mountpoint> result = Liquid::Mountpoint::allMountpoints(); | ||
- | QList<Liquid::Mountpoint>::const_iterator i; | ||
- | |||
- | for( i = result.constBegin(); i != result.constEnd(); i ++ ) | ||
- | { | ||
- | qDebug() << "Le point de montage " << i->getFilesystemPath() << " est de type " << i->getFilesystemType(); | ||
- | } | ||
- | </code> | ||
- | ===== Désinstallation ===== | ||
- | Supprimez le paquet [[apt://liquid]] ou [[apt://liquid-dev]].\\ | ||
- | Vous devez quitter la session en cours et vous reconnecter pour que la désinstallation soit complète. |