Package ch.bailu.gtk.gio
Class Volume
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.type.Interface
ch.bailu.gtk.gio.Volume
- All Implemented Interfaces:
PointerInterface
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 #GAsyncResult instance will be
passed to the callback. That callback should then call
g_volume_mount_finish() with the #GVolume instance and the
#GAsyncResult 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_UUID, %G_VOLUME_IDENTIFIER_KIND_LABEL, etc.
Use g_volume_get_identifier() to obtain an identifier for a volume.
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().
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 #GAsyncResult instance will be
passed to the callback. That callback should then call
g_volume_mount_finish() with the #GVolume instance and the
#GAsyncResult 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_UUID, %G_VOLUME_IDENTIFIER_KIND_LABEL, etc.
Use g_volume_get_identifier() to obtain an identifier for a volume.
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().
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
static interface
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canEject()
Checks if a volume can be ejected.boolean
canMount()
Checks if a volume can be mounted.void
ejectWithOperation
(int flags, MountOperation mount_operation, Cancellable cancellable, Volume.OnAsyncReadyCallback callback, Pointer user_data) Ejects a volume.boolean
ejectWithOperationFinish
(AsyncResult result) Finishes ejecting a volume.Gets the kinds of [identifiers][volume-identifier] that @volume has.Gets the activation root for a #GVolume if it is known ahead of
mount time.static ClassHandler
getDrive()
Gets the drive for the @volume.getIcon()
Gets the icon for @volume.getIdentifier
(Str kind) Gets the identifier of the given kind for @volume.getIdentifier
(String kind) Gets the identifier of the given kind for @volume.static int
getMount()
Gets the mount for the @volume.getName()
Gets the name of @volume.static long
static TypeSystem.TypeSize
Gets the sort key for @volume, if any.Gets the symbolic icon for @volume.static long
static TypeSystem.TypeSize
getUuid()
Gets the UUID for the @volume.void
mount
(int flags, MountOperation mount_operation, Cancellable cancellable, Volume.OnAsyncReadyCallback callback, Pointer user_data) Mounts a volume.boolean
mountFinish
(AsyncResult result) Finishes mounting a volume.onChanged
(Volume.OnChanged signal) Connect to signal "changed".onRemoved
(Volume.OnRemoved signal) Connect to signal "removed".boolean
Returns whether the volume should be automatically mounted.Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
SIGNAL_ON_CHANGED
- See Also:
-
SIGNAL_ON_REMOVED
- See Also:
-
-
Constructor Details
-
Volume
-
-
Method Details
-
getClassHandler
-
canEject
public boolean canEject()Checks if a volume can be ejected.- Returns:
- %TRUE if the @volume can be ejected. %FALSE otherwise
-
canMount
public boolean canMount()Checks if a volume can be mounted.- Returns:
- %TRUE if the @volume can be mounted. %FALSE otherwise
-
ejectWithOperation
public void ejectWithOperation(int flags, @Nullable MountOperation mount_operation, @Nullable Cancellable cancellable, Volume.OnAsyncReadyCallback callback, @Nullable Pointer user_data) 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.- Parameters:
flags
- flags affecting the unmount if required for ejectmount_operation
- a #GMountOperation or %NULL to avoid user interactioncancellable
- optional #GCancellable object, %NULL to ignorecallback
- a #GAsyncReadyCallback, or %NULLuser_data
- user data passed to @callback
-
ejectWithOperationFinish
Finishes ejecting a volume. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.- Parameters:
result
- a #GAsyncResult- Returns:
- %TRUE if the volume was successfully ejected. %FALSE otherwise
- Throws:
AllocationError
-
enumerateIdentifiers
Gets the kinds of [identifiers][volume-identifier] that @volume has.
Use g_volume_get_identifier() to obtain the identifiers themselves.- Returns:
- a %NULL-terminated array of strings containing kinds of identifiers. Use g_strfreev() to free.
-
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
<!-- language="C" --> GMount *mount; GFile *mount_root GFile *volume_activation_root; mount = g_volume_get_mount (volume); // mounted, so never NULL mount_root = g_mount_get_root (mount); volume_activation_root = g_volume_get_activation_root (volume); // assume not NULL
then the expression<!-- language="C" --> (g_file_has_prefix (volume_activation_root, mount_root) || g_file_equal (volume_activation_root, mount_root))
will always be %TRUE.
Activation roots are typically used in #GVolumeMonitor
implementations to find the underlying mount to shadow, see
g_mount_is_shadowed() for more details.- Returns:
- the activation root of @volume or %NULL. Use g_object_unref() to free.
-
getDrive
Gets the drive for the @volume.- Returns:
- a #GDrive or %NULL if @volume is not associated with a drive. The returned object should be unreffed with g_object_unref() when no longer needed.
-
getIcon
Gets the icon for @volume.- Returns:
- a #GIcon. The returned object should be unreffed with g_object_unref() when no longer needed.
-
getIdentifier
Gets the identifier of the given kind for @volume.
See the [introduction][volume-identifier] for more
information about volume identifiers.- Parameters:
kind
- the kind of identifier to return- Returns:
- a newly allocated string containing the requested identifier, or %NULL if the #GVolume doesn't have this kind of identifier
-
getIdentifier
Gets the identifier of the given kind for @volume.
See the [introduction][volume-identifier] for more
information about volume identifiers.- Parameters:
kind
- the kind of identifier to return- Returns:
- a newly allocated string containing the requested identifier, or %NULL if the #GVolume doesn't have this kind of identifier
-
getMount
Gets the mount for the @volume.- Returns:
- a #GMount or %NULL if @volume isn't mounted. The returned object should be unreffed with g_object_unref() when no longer needed.
-
getName
Gets the name of @volume.- Returns:
- the name for the given @volume. The returned string should be freed with g_free() when no longer needed.
-
getSortKey
Gets the sort key for @volume, if any.- Returns:
- Sorting key for @volume or %NULL if no such key is available
-
getSymbolicIcon
Gets the symbolic icon for @volume.- Returns:
- a #GIcon. The returned object should be unreffed with g_object_unref() when no longer needed.
-
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.- Returns:
- the UUID for @volume or %NULL if no UUID can be computed. The returned string should be freed with g_free() when no longer needed.
-
mount
public void mount(int flags, @Nullable MountOperation mount_operation, @Nullable Cancellable cancellable, Volume.OnAsyncReadyCallback callback, @Nullable Pointer user_data) 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.- Parameters:
flags
- flags affecting the operationmount_operation
- a #GMountOperation or %NULL to avoid user interactioncancellable
- optional #GCancellable object, %NULL to ignorecallback
- a #GAsyncReadyCallback, or %NULLuser_data
- user data that gets passed to @callback
-
mountFinish
Finishes mounting a volume. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.
If the mount operation succeeded, g_volume_get_mount() on @volume
is guaranteed to return the mount right after calling this
function; there's no need to listen for the 'mount-added' signal on
#GVolumeMonitor.- Parameters:
result
- a #GAsyncResult- Returns:
- %TRUE, %FALSE if operation failed
- Throws:
AllocationError
-
shouldAutomount
public boolean shouldAutomount()Returns whether the volume should be automatically mounted.- Returns:
- %TRUE if the volume should be automatically mounted
-
onChanged
Connect to signal "changed".
SeeVolume.OnChanged.onChanged()
for signal description.
FieldSIGNAL_ON_CHANGED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onRemoved
Connect to signal "removed".
SeeVolume.OnRemoved.onRemoved()
for signal description.
FieldSIGNAL_ON_REMOVED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-