Class Mount

All Implemented Interfaces:
PointerInterface

public class Mount extends Interface
The #GMount interface represents user-visible mounts. Note, when
porting from GnomeVFS, #GMount is the moral equivalent of #GnomeVFSVolume.

#GMount is a "mounted" filesystem that you can access. Mounted is in
quotes because it's not the same as a unix mount, it might be a gvfs
mount, but you can still access the files on it if you use GIO. Might or
might not be related to a volume object.

Unmounting a #GMount instance is an asynchronous operation. For
more information about asynchronous operations, see #GAsyncResult
and #GTask. To unmount a #GMount instance, first call
g_mount_unmount_with_operation() with (at least) the #GMount instance and a
#GAsyncReadyCallback. The callback will be fired when the
operation has resolved (either with success or failure), and a
#GAsyncResult structure will be passed to the callback. That
callback should then call g_mount_unmount_with_operation_finish() with the #GMount
and the #GAsyncResult data to see if the operation was completed
successfully. If an @error is present when g_mount_unmount_with_operation_finish()
is called, then it will be filled with any error information.

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

  • Field Details

  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • canEject

      public boolean canEject()
      Checks if @mount can be ejected.
      Returns:
      %TRUE if the @mount can be ejected.
    • canUnmount

      public boolean canUnmount()
      Checks if @mount can be unmounted.
      Returns:
      %TRUE if the @mount can be unmounted.
    • ejectWithOperation

      public void ejectWithOperation(int flags, @Nullable MountOperation mount_operation, @Nullable Cancellable cancellable, Mount.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Ejects a mount. This is an asynchronous operation, and is
      finished by calling g_mount_eject_with_operation_finish() with the @mount
      and #GAsyncResult data returned in the @callback.
      Parameters:
      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 mount. 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 mount was successfully ejected. %FALSE otherwise.
      Throws:
      AllocationError
    • getDefaultLocation

      public File getDefaultLocation()
      Gets the default location of @mount. The default location of the given
      @mount is a path that reflects the main entry point for the user (e.g.
      the home directory, or the root of the volume).
      Returns:
      a #GFile. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getDrive

      public Drive getDrive()
      Gets the drive for the @mount.

      This is a convenience method for getting the #GVolume and then
      using that object to get the #GDrive.
      Returns:
      a #GDrive or %NULL if @mount is not associated with a volume or a drive. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getIcon

      public Icon getIcon()
      Gets the icon for @mount.
      Returns:
      a #GIcon. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getName

      public Str getName()
      Gets the name of @mount.
      Returns:
      the name for the given @mount. The returned string should be freed with g_free() when no longer needed.
    • getRoot

      public File getRoot()
      Gets the root directory on @mount.
      Returns:
      a #GFile. The returned object should be unreffed with g_object_unref() when no longer needed.
    • getSortKey

      public Str getSortKey()
      Gets the sort key for @mount, if any.
      Returns:
      Sorting key for @mount or %NULL if no such key is available.
    • getSymbolicIcon

      public Icon getSymbolicIcon()
      Gets the symbolic icon for @mount.
      Returns:
      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 @mount. The reference is typically based on
      the file system UUID for the mount in question and should be
      considered an opaque string. Returns %NULL if there is no UUID
      available.
      Returns:
      the UUID for @mount or %NULL if no UUID can be computed. The returned string should be freed with g_free() when no longer needed.
    • getVolume

      public Volume getVolume()
      Gets the volume for the @mount.
      Returns:
      a #GVolume or %NULL if @mount is not associated with a volume. The returned object should be unreffed with g_object_unref() when no longer needed.
    • guessContentType

      public void guessContentType(boolean force_rescan, @Nullable Cancellable cancellable, Mount.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Tries to guess the type of content stored on @mount. Returns one or
      more textual identifiers of well-known content types (typically
      prefixed with "x-content/"), e.g. x-content/image-dcf for camera
      memory cards. See the
      [shared-mime-info](http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec)
      specification for more on x-content types.

      This is an asynchronous operation (see
      g_mount_guess_content_type_sync() for the synchronous version), and
      is finished by calling g_mount_guess_content_type_finish() with the
      @mount and #GAsyncResult data returned in the @callback.
      Parameters:
      force_rescan - Whether to force a rescan of the content. Otherwise a cached result will be used if available
      cancellable - optional #GCancellable object, %NULL to ignore
      callback - a #GAsyncReadyCallback
      user_data - user data passed to @callback
    • isShadowed

      public boolean isShadowed()
      Determines if @mount is shadowed. Applications or libraries should
      avoid displaying @mount in the user interface if it is shadowed.

      A mount is said to be shadowed if there exists one or more user
      visible objects (currently #GMount objects) with a root that is
      inside the root of @mount.

      One application of shadow mounts is when exposing a single file
      system that is used to address several logical volumes. In this
      situation, a #GVolumeMonitor implementation would create two
      #GVolume objects (for example, one for the camera functionality of
      the device and one for a SD card reader on the device) with
      activation URIs `gphoto2://[usb:001,002]/store1/`
      and `gphoto2://[usb:001,002]/store2/`. When the
      underlying mount (with root
      `gphoto2://[usb:001,002]/`) is mounted, said
      #GVolumeMonitor implementation would create two #GMount objects
      (each with their root matching the corresponding volume activation
      root) that would shadow the original mount.

      The proxy monitor in GVfs 2.26 and later, automatically creates and
      manage shadow mounts (and shadows the underlying mount) if the
      activation root on a #GVolume is set.
      Returns:
      %TRUE if @mount is shadowed.
    • remount

      public void remount(int flags, @Nullable MountOperation mount_operation, @Nullable Cancellable cancellable, Mount.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Remounts a mount. This is an asynchronous operation, and is
      finished by calling g_mount_remount_finish() with the @mount
      and #GAsyncResults data returned in the @callback.

      Remounting is useful when some setting affecting the operation
      of the volume has been changed, as these may need a remount to
      take affect. While this is semantically equivalent with unmounting
      and then remounting not all backends might need to actually be
      unmounted.
      Parameters:
      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 passed to @callback.
    • remountFinish

      public boolean remountFinish(@Nonnull AsyncResult result) throws AllocationError
      Finishes remounting a mount. 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 mount was successfully remounted. %FALSE otherwise.
      Throws:
      AllocationError
    • shadow

      public void shadow()
      Increments the shadow count on @mount. Usually used by
      #GVolumeMonitor implementations when creating a shadow mount for
      @mount, see g_mount_is_shadowed() for more information. The caller
      will need to emit the #GMount::changed signal on @mount manually.
    • unmountWithOperation

      public void unmountWithOperation(int flags, @Nullable MountOperation mount_operation, @Nullable Cancellable cancellable, Mount.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Unmounts a mount. This is an asynchronous operation, and is
      finished by calling g_mount_unmount_with_operation_finish() with the @mount
      and #GAsyncResult data returned in the @callback.
      Parameters:
      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 passed to @callback.
    • unmountWithOperationFinish

      public boolean unmountWithOperationFinish(@Nonnull AsyncResult result) throws AllocationError
      Finishes unmounting a mount. 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 mount was successfully unmounted. %FALSE otherwise.
      Throws:
      AllocationError
    • unshadow

      public void unshadow()
      Decrements the shadow count on @mount. Usually used by
      #GVolumeMonitor implementations when destroying a shadow mount for
      @mount, see g_mount_is_shadowed() for more information. The caller
      will need to emit the #GMount::changed signal on @mount manually.
    • onChanged

      public SignalHandler onChanged(Mount.OnChanged signal)
      Connect to signal "changed".
      See Mount.OnChanged.onChanged() for signal description.
      Field SIGNAL_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.
    • onPreUnmount

      public SignalHandler onPreUnmount(Mount.OnPreUnmount signal)
      Connect to signal "pre-unmount".
      See Mount.OnPreUnmount.onPreUnmount() for signal description.
      Field SIGNAL_ON_PRE_UNMOUNT 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.
    • onUnmounted

      public SignalHandler onUnmounted(Mount.OnUnmounted signal)
      Connect to signal "unmounted".
      See Mount.OnUnmounted.onUnmounted() for signal description.
      Field SIGNAL_ON_UNMOUNTED 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

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()