Klasse Volume

Alle implementierten Schnittstellen:
PointerInterface

public class Volume extends Interface
The `GVolume` interface represents user-visible objects that can be
mounted. For example, a file system partition on a USB flash drive, or an
optical disc inserted into a disc drive.

If a `GVolume` is currently mounted, the corresponding [iface@Gio.Mount] can
be retrieved using [method@Gio.Volume.get_mount].

Mounting a `GVolume` instance is an asynchronous operation. For more
information about asynchronous operations, see [iface@Gio.AsyncResult] and
[class@Gio.Task]. To mount a `GVolume`, first call [method@Gio.Volume.mount]
with (at least) the `GVolume` instance, optionally a
[class@Gio.MountOperation] object and a [type@Gio.AsyncReadyCallback].

Typically, one will only want to pass `NULL` for the
[class@Gio.MountOperation] 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 [iface@Gio.AsyncResult] instance will be
passed to the callback. That callback should then call
[method@Gio.Volume.mount_finish] with the `GVolume` instance and the
[iface@Gio.AsyncResult] data to see if the operation was completed
successfully. If a [type@GLib.Error] is present when
[method@Gio.Volume.mount_finish] is called, then it will be filled with any
error information.

Note, when [porting from GnomeVFS](migrating-gnome-vfs.html),
`GVolume` is the moral equivalent of `GnomeVFSDrive`.

## Volume Identifiers

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 command line). 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 [method@Gio.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()`.

https://docs.gtk.org/gio/iface.Volume.html

  • Felddetails

  • Konstruktordetails

  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • canEject

      public boolean canEject()
      Checks if a volume can be ejected.
      Gibt zurück:
      %TRUE if the @volume can be ejected. %FALSE otherwise
    • canMount

      public boolean canMount()
      Checks if a volume can be mounted.
      Gibt zurück:
      %TRUE if the @volume can be mounted. %FALSE otherwise
    • eject

      @Deprecated public void eject(int flags, @Nullable Cancellable cancellable, Volume.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Veraltet.
      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.
      Parameter:
      flags - flags affecting the unmount if required for eject
      cancellable - optional #GCancellable object, %NULL to ignore
      callback - a #GAsyncReadyCallback, or %NULL
      user_data - user data that gets passed to @callback
    • ejectFinish

      @Deprecated public boolean ejectFinish(@Nonnull AsyncResult result) throws AllocationError
      Veraltet.
      Finishes ejecting a volume. If any errors occurred during the operation,
      @error will be set to contain the errors and %FALSE will be returned.
      Parameter:
      result - a #GAsyncResult
      Gibt zurück:
      %TRUE, %FALSE if operation failed
      Löst aus:
      AllocationError
    • 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.
      Parameter:
      flags - flags affecting the unmount if required for eject
      mount_operation - a #GMountOperation or %NULL to avoid user interaction
      cancellable - optional #GCancellable object, %NULL to ignore
      callback - a #GAsyncReadyCallback, or %NULL
      user_data - user data passed to @callback
    • ejectWithOperationFinish

      public boolean ejectWithOperationFinish(@Nonnull AsyncResult result) throws AllocationError
      Finishes ejecting a volume. If any errors occurred during the operation,
      @error will be set to contain the errors and %FALSE will be returned.
      Parameter:
      result - a #GAsyncResult
      Gibt zurück:
      %TRUE if the volume was successfully ejected. %FALSE otherwise
      Löst aus:
      AllocationError
    • enumerateIdentifiers

      public Strs enumerateIdentifiers()
      Gets the kinds of [identifiers](#volume-identifiers) that @volume has.
      Use g_volume_get_identifier() to obtain the identifiers themselves.
      Gibt zurück:
      a %NULL-terminated array of strings containing kinds of identifiers. Use g_strfreev() to free.
    • getActivationRoot

      public File 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.
      Gibt zurück:
      the activation root of @volume or %NULL. Use g_object_unref() to free.
    • getDrive

      public Drive getDrive()
      Gets the drive for the @volume.
      Gibt zurück:
      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

      public Icon getIcon()
      Gets the icon for @volume.
      Gibt zurück:
      a #GIcon. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getIdentifier

      public Str getIdentifier(@Nonnull Str kind)
      Gets the identifier of the given kind for @volume.
      See the [introduction](#volume-identifiers) for more
      information about volume identifiers.
      Parameter:
      kind - the kind of identifier to return
      Gibt zurück:
      a newly allocated string containing the requested identifier, or %NULL if the #GVolume doesn't have this kind of identifier
    • getIdentifier

      public Str getIdentifier(String kind)
      Gets the identifier of the given kind for @volume.
      See the [introduction](#volume-identifiers) for more
      information about volume identifiers.
      Parameter:
      kind - the kind of identifier to return
      Gibt zurück:
      a newly allocated string containing the requested identifier, or %NULL if the #GVolume doesn't have this kind of identifier
    • getMount

      public Mount getMount()
      Gets the mount for the @volume.
      Gibt zurück:
      a #GMount or %NULL if @volume isn't mounted. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getName

      public Str getName()
      Gets the name of @volume.
      Gibt zurück:
      the name for the given @volume. The returned string should be freed with g_free() when no longer needed.
    • getSortKey

      public Str getSortKey()
      Gets the sort key for @volume, if any.
      Gibt zurück:
      Sorting key for @volume or %NULL if no such key is available
    • getSymbolicIcon

      public Icon getSymbolicIcon()
      Gets the symbolic icon for @volume.
      Gibt zurück:
      a #GIcon. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getUuid

      public Str 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.
      Gibt zurück:
      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.
      Parameter:
      flags - flags affecting the operation
      mount_operation - a #GMountOperation or %NULL to avoid user interaction
      cancellable - optional #GCancellable object, %NULL to ignore
      callback - a #GAsyncReadyCallback, or %NULL
      user_data - user data that gets passed to @callback
    • mountFinish

      public boolean mountFinish(@Nonnull AsyncResult result) throws AllocationError
      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.
      Parameter:
      result - a #GAsyncResult
      Gibt zurück:
      %TRUE, %FALSE if operation failed
      Löst aus:
      AllocationError
    • shouldAutomount

      public boolean shouldAutomount()
      Returns whether the volume should be automatically mounted.
      Gibt zurück:
      %TRUE if the volume should be automatically mounted
    • onChanged

      public SignalHandler onChanged(Volume.OnChanged signal)
      Connect to signal "changed".
      See Volume.OnChanged.onChanged() for signal description.
      Field SIGNAL_ON_CHANGED contains original signal name and can be used as resource reference.
      Parameter:
      signal - callback function (lambda).
      Gibt zurück:
      SignalHandler. Can be used to disconnect signal and to release callback function.
    • onRemoved

      public SignalHandler onRemoved(Volume.OnRemoved signal)
      Connect to signal "removed".
      See Volume.OnRemoved.onRemoved() for signal description.
      Field SIGNAL_ON_REMOVED contains original signal name and can be used as resource reference.
      Parameter:
      signal - callback function (lambda).
      Gibt zurück:
      SignalHandler. Can be used to disconnect signal and to release callback function.
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()