Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Liquid

Liquid est un module KDED qui permet de lister les points de montage disponible sur un ordinateur et d'être averti lors de tout ajout ou suppression de l'un d'entre eux.

Vous pouvez utiliser le dépôt de Spomky afin de faciliter l'installation du logiciel et ses dépendances.

Le code source est disponible sous Launchpad et peut être téléchargé avec Bazaar.

Il fait partie du projet Fusible mais ne dépend que de SMUDd.

Liquid est disponible sous forme de paquets binaires x86 et x86_64 pour Intrepid Ibex.

Installez simplement le paquet apt://liquid. Pour développer en utilisant Liquid, installez le paquet apt://liquid-dev.

Cette API est destinée aux développeurs de programmes en C++ sous KDE4

Liquid met à disposition deux classes objet : mountpoint et notifier. Ces object se trouvent dans l'espace de nommage Liquid.

notifier

notifier averti lorsqu'un point de montage est ajouté ou supprimé et indique si la connexion avec l'interface DBus de SMUDd est créé.

Pour utiliser notifier, ajoutez l'en-tête correspondant :

#include <liquid/notifier.h>

Connexion des signaux

La partie de code suivante connecte les signaux de notifier aux slots correspondant au signal.

	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& ) ) );

État de Liquid

Pour savoir si Liquid est fonctionnel -c'est à dire correctement connecté à SMUDd-, exécutez simplement la fonction isReady :

if( Liquid::Notifier::instance()->isReady() ) ...

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 :

#include <liquid/mountpoint.h>

Obtenir la liste des points de montage

QList<Liquid::Mountpoint> result = Liquid::Mountpoint::allMountpoints();

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;

Pour les fonctions permettant d'obtenir les tailles totales, libres et disponibles, le paramètre est soit Liquid::Mountpoint::Decimal, soit Liquid::Mountpoint::Binary. Il permet d'obtenir la taille en octets décimaux (Mo, Go, To, …) ou en octets binaires (Mio, Gio, Tio, …).

Exemple

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();
}

Supprimez le paquet apt://liquid ou apt://liquid-dev.

  • liquid.1274180148.txt.gz
  • Dernière modification: Le 18/04/2011, 14:55
  • (modification externe)