gnomevfs-0.11.0: Binding to the GNOME Virtual File System library.Source codeContentsIndex
System.Gnome.VFS.Volume
Portabilityportable (depends on GHC)
Stabilityalpha
Maintainergtk2hs-devel@lists.sourceforge.net
Contents
Types
Volume Operations
Description
Synopsis
data Volume
class GObjectClass o => VolumeClass o
type VolumeID = CULong
castToVolume :: GObjectClass obj => obj -> Volume
volumeCompare :: (VolumeClass volume1, VolumeClass volume2) => volume1 -> volume2 -> IO Ordering
volumeEject :: VolumeClass volume => volume -> VolumeOpSuccessCallback -> VolumeOpFailureCallback -> IO ()
volumeGetActivationURI :: VolumeClass volume => volume -> IO TextURI
volumeGetDevicePath :: VolumeClass volume => volume -> IO String
volumeGetDeviceType :: VolumeClass volume => volume -> IO DeviceType
volumeGetDisplayName :: VolumeClass volume => volume -> IO String
volumeGetDrive :: VolumeClass volume => volume -> IO Drive
volumeGetFilesystemType :: VolumeClass volume => volume -> IO (Maybe String)
volumeGetHalUDI :: VolumeClass volume => volume -> IO (Maybe String)
volumeGetIcon :: VolumeClass volume => volume -> IO FilePath
volumeGetID :: VolumeClass volume => volume -> IO VolumeID
volumeGetVolumeType :: VolumeClass volume => volume -> IO VolumeType
volumeHandlesTrash :: VolumeClass volume => volume -> IO Bool
volumeIsMounted :: VolumeClass volume => volume -> IO Bool
volumeIsReadOnly :: VolumeClass volume => volume -> IO Bool
volumeIsUserVisible :: VolumeClass volume => volume -> IO Bool
volumeUnmount :: VolumeClass volume => volume -> VolumeOpSuccessCallback -> VolumeOpFailureCallback -> IO ()
Types
An abstraction for a mounted filesystem or network location.
data Volume Source
class GObjectClass o => VolumeClass o Source
type VolumeID = CULongSource
Identifies a Volume.
Safely cast an object to a Volume.
castToVolume :: GObjectClass obj => obj -> VolumeSource
Volume Operations
volumeCompare :: (VolumeClass volume1, VolumeClass volume2) => volume1 -> volume2 -> IO OrderingSource

Compares two Volume objects a and b. Two Volume objects referring to different volumes are guaranteed to not return EQ when comparing them. If they refer to the same volume EQ is returned.

The resulting gint should be used to determine the order in which a and b are displayed in graphical user interfaces.

The comparison algorithm first of all peeks the device type of a and b, they will be sorted in the following order:

  • Magnetic and opto-magnetic volumes (ZIP, floppy)
  • Optical volumes (CD, DVD)
  • External volumes (USB sticks, music players)
  • Mounted hard disks
  • Network mounts
  • Other volumes

Afterwards, the display name of a and b is compared using a locale-sensitive sorting algorithm.

If two volumes have the same display name, their unique ID is compared which can be queried using volumeGetID.

volumeEjectSource
:: VolumeClass volume
=> volumesuccessCallback - the callback to call once the operation has completed successfully
-> VolumeOpSuccessCallbackfailureCallback - the callback to call if the operation fails
-> VolumeOpFailureCallback
-> IO ()
volumeGetActivationURISource
:: VolumeClass volume
=> volumethe volume's activation URI.
-> IO TextURI

Returns the activation URI of volume.

The returned URI usually refers to a valid location. You can check the validity of the location by calling System.Gnome.VFS.URI.uriFromString with the URI, and checking whether the return value is not Nothing.

volumeGetDevicePathSource
:: VolumeClass volume
=> volumethe volume's device path
-> IO String

Returns the device path of a Volume object.

For HAL volumes, this returns the value of the volume's block.device key. For UNIX mounts, it returns the mntent's mnt_fsname entry.

Otherwise, it returns Nothing.

volumeGetDeviceTypeSource
:: VolumeClass volume
=> volume
-> IO DeviceType
Returns the DeviceType of a Volume object.
volumeGetDisplayNameSource
:: VolumeClass volume
=> volumethe volume's display name
-> IO String
Returns the display name of a Volume object.
volumeGetDriveSource
:: VolumeClass volume
=> volumethe containing drive
-> IO Drive
Returns the Drive that volume is on.
volumeGetFilesystemTypeSource
:: VolumeClass volume
=> volumea string describing the filesystem type, or Nothing if no information is available
-> IO (Maybe String)

Returns a string describing the file system on volume, or Nothing if no information on the underlying file system is available.

The file system may be used to provide special functionality that depends on the file system type, for instance to determine whether trashing is supported (cf. volumeHandlesTrash).

For HAL mounts, this returns the value of the "volume.fstype" key, for traditional UNIX mounts it is set to the mntent's mnt_type key, for connected servers, Nothing is returned.

volumeGetHalUDISource
:: VolumeClass volume
=> volumethe volume's HAL UDI
-> IO (Maybe String)

Returns the HAL UDI of a Volume object.

For HAL volumes, this matches the value of the info.udi key, for other volumes it is Nothing.

volumeGetIconSource
:: VolumeClass volume
=> volumethe icon that should be used for this volume
-> IO FilePath
Returns the icon filename for a Volume object.
volumeGetIDSource
:: VolumeClass volume
=> volumea unique identifier for the volume
-> IO VolumeID
Returns a unique identifier for a Volume object.
volumeGetVolumeTypeSource
:: VolumeClass volume
=> volumethe volume's volume type
-> IO VolumeType
Returns the volume type of volume.
volumeHandlesTrashSource
:: VolumeClass volume
=> volumeTrue if the volume handles trash, otherwise False
-> IO Bool

Returns whether the file system on a volume supports trashing of files.

If the volume has an AutoFS file system (i.e., volumeGetDeviceType returns DeviceTypeAutofs), or if the volume is mounted read-only (i.e., volumeIsReadOnly returns True), it is assumed to not support trashing of files.

Otherwise, if the volume provides file system information, it is determined whether the file system supports trashing of files.

volumeIsMountedSource
:: VolumeClass volume
=> volumeTrue if the volume is mounted, otherwise False
-> IO Bool

Returns whether the file system on a volume is currently mounted.

For HAL volumes, this reflects the value of the "volume.is_mounted" key, for traditional UNIX mounts and connected servers, True is returned, because their existence implies that they are mounted.

volumeIsReadOnlySource
:: VolumeClass volume
=> volumeTrue if the volume is read-only, otherwise False
-> IO Bool

Returns whether the file system on a volume is read-only.

For HAL volumes, the "volume.is_mounted_read_only" key is authoritative, for traditional UNIX mounts it returns (!(0)) if the mount was done with the "ro" option. For servers, False is returned.

volumeIsUserVisibleSource
:: VolumeClass volume
=> volumeTrue if the volume is user visible, otherwise False
-> IO Bool
Returns a Bool for whether a volume is user-visible. This should be used by applications to determine whether the volume should be listed in user interfaces listing available volumes.
volumeUnmountSource
:: VolumeClass volume
=> volumesuccessCallback - the callback to call once the operation has completed successfully
-> VolumeOpSuccessCallbackfailureCallback - the callback to call if the operation fails
-> VolumeOpFailureCallback
-> IO ()
Produced by Haddock version 2.6.0