VolumeT

The #GVolume interface represents user-visible objects that can be mounted. Note, when porting from GnomeVFS, #GVolume is the moral equivalent of #GnomeVFSDrive.

Mounting a #GVolume instance is an asynchronous operation. For more information about asynchronous operations, see #GAsyncResult and #GTask. To mount a #GVolume, first call g_volume_mount() with (at least) the #GVolume instance, optionally a #GMountOperation object and a #GAsyncReadyCallback.

Typically, one will only want to pass %NULL for the #GMountOperation if automounting all volumes when a desktop session starts since it's not desirable to put up a lot of dialogs asking for credentials.

The callback will be fired when the operation has resolved (either with success or failure), and a #GAsyncReady structure will be passed to the callback. That callback should then call g_volume_mount_finish() with the #GVolume instance and the #GAsyncReady data to see if the operation was completed successfully. If an @error is present when g_volume_mount_finish() is called, then it will be filled with any error information.

Volume Identifiers # {#volume-identifier}

It is sometimes necessary to directly access the underlying operating system object behind a volume (e.g. for passing a volume to an application via the commandline). For this purpose, GIO allows to obtain an 'identifier' for the volume. There can be different kinds of identifiers, such as Hal UDIs, filesystem labels, traditional Unix devices (e.g. /dev/sda2), UUIDs. GIO uses predefined strings as names for the different kinds of identifiers: #G_VOLUME_IDENTIFIER_KIND_HAL_UDI, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. Use g_volume_get_identifier() to obtain an identifier for a volume.

More...
template VolumeT (
TStruct
) {}

Members

Classes

OnChangedDelegateWrapper
class OnChangedDelegateWrapper
Undocumented in source.
OnRemovedDelegateWrapper
class OnRemovedDelegateWrapper
Undocumented in source.

Functions

addOnChanged
gulong addOnChanged(void delegate(VolumeIF) dlg, ConnectFlags connectFlags)

Emitted when the volume has been changed.

addOnRemoved
gulong addOnRemoved(void delegate(VolumeIF) dlg, ConnectFlags connectFlags)

This signal is emitted when the #GVolume have been removed. If the recipient is holding references to the object they should release them so the object can be finalized.

canEject
bool canEject()

Checks if a volume can be ejected.

canMount
bool canMount()

Checks if a volume can be mounted.

eject
void eject(GMountUnmountFlags flags, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Ejects a volume. This is an asynchronous operation, and is finished by calling g_volume_eject_finish() with the @volume and #GAsyncResult returned in the @callback.

ejectFinish
bool ejectFinish(AsyncResultIF result)

Finishes ejecting a volume. If any errors occurred during the operation, @error will be set to contain the errors and %FALSE will be returned.

ejectWithOperation
void ejectWithOperation(GMountUnmountFlags flags, MountOperation mountOperation, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Ejects a volume. This is an asynchronous operation, and is finished by calling g_volume_eject_with_operation_finish() with the @volume and #GAsyncResult data returned in the @callback.

ejectWithOperationFinish
bool ejectWithOperationFinish(AsyncResultIF result)

Finishes ejecting a volume. If any errors occurred during the operation, @error will be set to contain the errors and %FALSE will be returned.

enumerateIdentifiers
string[] enumerateIdentifiers()

Gets the kinds of identifiers[volume-identifier] that @volume has. Use g_volume_get_identifier() to obtain the identifiers themselves.

getActivationRoot
FileIF getActivationRoot()

Gets the activation root for a #GVolume if it is known ahead of mount time. Returns %NULL otherwise. If not %NULL and if @volume is mounted, then the result of g_mount_get_root() on the #GMount object obtained from g_volume_get_mount() will always either be equal or a prefix of what this function returns. In other words, in code

getDrive
DriveIF getDrive()

Gets the drive for the @volume.

getIcon
IconIF getIcon()

Gets the icon for @volume.

getIdentifier
string getIdentifier(string kind)

Gets the identifier of the given kind for @volume. See the introduction[volume-identifier] for more information about volume identifiers.

getMount
MountIF getMount()

Gets the mount for the @volume.

getName
string getName()

Gets the name of @volume.

getSortKey
string getSortKey()

Gets the sort key for @volume, if any.

getSymbolicIcon
IconIF getSymbolicIcon()

Gets the symbolic icon for @volume.

getUuid
string getUuid()

Gets the UUID for the @volume. The reference is typically based on the file system UUID for the volume in question and should be considered an opaque string. Returns %NULL if there is no UUID available.

getVolumeStruct
GVolume* getVolumeStruct(bool transferOwnership)

Get the main Gtk struct

mount
void mount(GMountMountFlags flags, MountOperation mountOperation, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Mounts a volume. This is an asynchronous operation, and is finished by calling g_volume_mount_finish() with the @volume and #GAsyncResult returned in the @callback.

mountFinish
bool mountFinish(AsyncResultIF result)

Finishes mounting a volume. If any errors occurred during the operation, @error will be set to contain the errors and %FALSE will be returned.

shouldAutomount
bool shouldAutomount()

Returns whether the volume should be automatically mounted.

Static functions

callBackChanged
void callBackChanged(GVolume* volumeStruct, OnChangedDelegateWrapper wrapper)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackChangedDestroy
void callBackChangedDestroy(OnChangedDelegateWrapper wrapper, GClosure* closure)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackRemoved
void callBackRemoved(GVolume* volumeStruct, OnRemovedDelegateWrapper wrapper)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackRemovedDestroy
void callBackRemovedDestroy(OnRemovedDelegateWrapper wrapper, GClosure* closure)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

onChangedListeners
OnChangedDelegateWrapper[] onChangedListeners;
Undocumented in source.
onRemovedListeners
OnRemovedDelegateWrapper[] onRemovedListeners;
Undocumented in source.

Detailed Description

Note that #G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available when the gvfs hal volume monitor is in use. Other volume monitors will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE identifier, which can be used to obtain a hal device by means of libhal_manager_find_device_string_match().

Meta