gio.Mount

gio.Mount — Mount management

Synopsis

class gio.Mount(gobject.GInterface):
    def can_eject()
def can_unmount()
def eject(callback, flags=gio.MOUNT_UNMOUNT_NONE, cancellable=None, user_data=None)
def eject_finish(result)
def get_drive()
def get_icon()
def get_name()
def get_root()
def get_uuid()
def get_volume()
def guess_content_type(callback, force_rescan, cancellable=None, user_data=None)
def guess_content_type_finish(result)
def guess_content_type_sync(force_rescan, cancellable=None)
def is_shadowed()
def remount(callback, flags=gio.MOUNT_UNMOUNT_NONE, mount_operation=None, cancellable=None, user_data=None)
def remount_finish(result)
def shadow()
def unmount(callback, flags=gio.MOUNT_UNMOUNT_NONE, cancellable=None, user_data=None)
def unmount_finish(result)
def unshadow()

Ancestry

+-- gobject.GInterface
  +-- gio.Mount

Prerequisites

gio.Mount requires gobject.GObject

gio.Mount Signal Prototypes

gobject.GObject Signal Prototypes

"aborted"

def callback(mount, user_param1, ...)

"changed"

def callback(mount, user_param1, ...)

"unmounted"

def callback(mount, user_param1, ...)

Description

The gio.Mount interface represents user-visible mounts. Note, when porting from GnomeVFS, gio.Mount is the moral equivalent of GnomeVFSVolume.

gio.Mount 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 GAsyncReady and GSimpleAsyncReady. To unmount a gio.Mount instance, first call g_mount_unmount() 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 GAsyncReady structure will be passed to the callback. That callback should then call g_mount_unmount_finish() with the GMount and the GAsyncReady data to see if the operation was completed successfully. If an error is present when g_mount_unmount_finish() is called, then it will be filled with any error information.

Methods

gio.Mount.can_eject

    def can_eject()

Returns :

True if the mount can be ejected, False otherwise.

The can_eject() method checks if a mount can be ejected.

gio.Mount.can_unmount

    def can_unmount()

Returns :

True if the mount can be unmounted, False otherwise.

The can_eject() method checks if a mount can be unmounted.

gio.Mount.eject

    def eject(callback, flags=gio.MOUNT_UNMOUNT_NONE, cancellable=None, user_data=None)

callback :

A GAsyncReadyCallback to call when the request is satisfied.

flags :

flags affecting the unmount if required for eject Gio Mount Unmount Flags Constants.

cancellable :

Optional gio.Cancellable object, None to ignore.

user_data :

The data to pass to callback function.

The eject() method asynchronously ejects a mount.

When the operation is finished, callback will be called. You can then call gio.Mount.eject_finish() to obtain the result of the operation.

gio.Mount.eject_finish

    def eject_finish(result)

result :

a gio.AsyncResult.

Returns :

True if the mount has been ejected successfully, False otherwise.

The eject_finish() method finishes ejecting a mount.

gio.Mount.get_drive

    def get_drive()

Returns :

gio.Drive or None if mount is not associated with a volume or a drive.

The get_drive() method gets the drive for the mount.

This is a convenience method for getting the gio.Volume and then using that object to get the gio.Drive.

gio.Mount.get_icon

    def get_icon()

Returns :

gio.Icon for the mount.

The get_icon() method gets the icon for mount.

gio.Mount.get_name

    def get_name()

Returns :

the name for the given mount.

The get_name() method gets the name of mount.

gio.Mount.get_root

    def get_root()

Returns :

a gio.File.

The get_root() method gets the root directory on mount.

gio.Mount.get_uuid

    def get_uuid()

Returns :

the UUID for mount or None if no UUID can be computed.

The get_uuid() method 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 None if there is no UUID available

gio.Mount.get_volume

    def get_volume()

Returns :

a gio.Volume or None if mount is not associated with a volume.

The get_volume() method gets the volume for the mount.

gio.Mount.guess_content_type

    def guess_content_type(callback, force_rescan, cancellable=None, user_data=None)

callback :

A GAsyncReadyCallback to call when the request is satisfied.

force_rescan :

Whether to force a rescan of the content. Otherwise a cached result will be used if available.

cancellable :

Optional gio.Cancellable object, None to ignore.

user_data :

The data to pass to callback function.

The guess_content_type() method asynchronously 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 specification for more on x-content types.

If cancellable is not None, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.ERROR_CANCELLED will be returned.

When the operation is finished, callback will be called. You can then call gio.Mount.guess_content_type_finish() to obtain the result of the operation.

gio.Mount.guess_content_type_finish

    def guess_content_type_finish(result)

result :

a gio.AsyncResult.

Returns :

A list of types or None on error.

The guess_content_type_finish() method finishes guessing content types of mount. If any errors occured during the operation, error will be set to contain the errors and False will be returned. In particular, you may get an gio.ERROR_NOT_SUPPORTED if the mount does not support content guessing.

gio.Mount.guess_content_type_sync

    def guess_content_type_sync(force_rescan, cancellable=None)

force_rescan :

Whether to force a rescan of the content. Otherwise a cached result will be used if available.

cancellable :

Optional gio.Cancellable object, None to ignore.

The guess_content_type_sync() method 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 specification for more on x-content types.

If cancellable is not None, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.ERROR_CANCELLED will be returned.

This is an synchronous operation and as such may block doing IO; see gio.Mount.guess_content_type() for the asynchronous version.

gio.Mount.is_shadowed

    def is_shadowed()

Returns :

True if mount is shadowed.

The is_shadowed() method 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 gio.Mount 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 gio.VolumeMonitor implementation would create two gio.Volume 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 gio.VolumeMonitor implementation would create two gio.Mount 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 gio.Volume is set.

gio.Mount.remount

    def remount(callback, flags=gio.MOUNT_UNMOUNT_NONE, mount_operation=None, cancellable=None, user_data=None)

callback :

A GAsyncReadyCallback to call when the request is satisfied.

flags :

flags affecting the unmount if required for eject Gio Mount Unmount Flags Constants.

mount_operation :

a gio.MountOperation or None to avoid user interaction.

cancellable :

Optional gio.Cancellable object, None to ignore.

user_data :

The data to pass to callback function.

The remount() method asynchronously remounts a mount.

If cancellable is not None, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.ERROR_CANCELLED will be returned.

When the operation is finished, callback will be called. You can then call gio.Mount.remount_finish() to obtain the result of the operation.

gio.Mount.remount_finish

    def remount_finish(result)

result :

a gio.AsyncResult.

Returns :

True if the mount has been remounted successfully, False otherwise.

The remount_finish() method finishes remounting a mount.

gio.Mount.shadow

    def shadow()

The shadow() method increments the shadow count on mount. Usually used by gio.VolumeMonitor implementations when creating a shadow mount for mount, see gio.Mount.is_shadowed() for more information. The caller will need to emit the "changed" signal on mount manually.

gio.Mount.unmount

    def unmount(callback, flags=gio.MOUNT_UNMOUNT_NONE, cancellable=None, user_data=None)

callback :

A GAsyncReadyCallback to call when the request is satisfied.

flags :

flags affecting the unmount if required for eject Gio Mount Unmount Flags Constants.

cancellable :

Optional gio.Cancellable object, None to ignore.

user_data :

The data to pass to callback function.

The unmount() method asynchronously unmounts a mount.

If cancellable is not None, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.ERROR_CANCELLED will be returned.

When the operation is finished, callback will be called. You can then call gio.Mount.unmount_finish() to obtain the result of the operation.

gio.Mount.unmount_finish

    def unmount_finish(result)

result :

a gio.AsyncResult.

Returns :

True if the mount has been unmounted successfully, False otherwise.

The unmount_finish() method finishes unmounting a mount.

gio.Mount.unshadow

    def unshadow()

The unshadow() method decrements the shadow count on mount. Usually used by gio.VolumeMonitor implementations when destroying a shadow mount for mount, see gio.Mount.is_shadowed() for more information. The caller will need to emit the "changed" signal on mount manually.

Signals

The "aborted" gio.Mount Signal

    def callback(mount, user_param1, ...)

mount :

the mount

user_param1 :

the first user parameter (if any) specified with the connect() method

... :

additional user parameters (if any)

Emitted by the backend when e.g. a device becomes unavailable while a mount operation is in progress.

Implementations of gio.MountOperation should handle this signal by dismissing open password dialogs.

The "changed" gio.Mount Signal

    def callback(mount, user_param1, ...)

mount :

the mount

user_param1 :

the first user parameter (if any) specified with the connect() method

... :

additional user parameters (if any)

Emitted when the mount has been changed.

The "unmounted" gio.Mount Signal

    def callback(mount, user_param1, ...)

mount :

the mount

user_param1 :

the first user parameter (if any) specified with the connect() method

... :

additional user parameters (if any)

This signal is emitted when the gio.Mount have been unmounted.