gio.drive_mixin
Module for [Drive] interface mixin
Templates 2
[gio.drive.Drive] represents a piece of hardware connected to the machine. It’s generally only created for removable hardware or hardware with removable media.
[gio.drive.Drive] is a container class for [gio.volume.Volume] objects that stem from the same piece of media. As such, [gio.drive.Drive] abstracts a drive with (or without) removable media and provides operations for querying whether media is available, determining whether media change is automatically detected and ejecting the media.
If the [gio.drive.Drive] reports that media isn’t automatically detected, one can poll for media; typically one should not do this periodically as a poll for media operation is potentially expensive and may spin up the drive creating noise.
[gio.drive.Drive] supports starting and stopping drives with authentication support for the former. This can be used to support a diverse set of use cases including connecting/disconnecting iSCSI devices, powering down external disk enclosures and starting/stopping multi-disk devices such as RAID devices. Note that the actual semantics and side-effects of starting/stopping a [gio.drive.Drive] may vary according to implementation. To choose the correct verbs in e.g. a file manager, use [gio.drive.Drive.getStartStopType].
For porting from GnomeVFS note that there is no equivalent of [gio.drive.Drive] in that API.
Checks if a drive can be ejected.
Returns
Checks if a drive can be polled for media changes.
Returns
false otherwise.
Checks if a drive can be started.
Returns
Checks if a drive can be started degraded.
Returns
Checks if a drive can be stopped.
Returns
Asynchronously ejects a drive.
When the operation is finished, callback will be called. You can then call [gio.drive.Drive.ejectFinish] to obtain the result of the operation.
Parameters
flags | flags affecting the unmount if required for eject |
cancellable | optional #GCancellable object, null to ignore. |
callback | a #GAsyncReadyCallback, or null. |
Deprecated
Finishes ejecting a drive.
Parameters
result | a #GAsyncResult. |
Returns
false otherwise.
Throws
Deprecated
Ejects a drive. This is an asynchronous operation, and is finished by calling [gio.drive.Drive.ejectWithOperationFinish] with the drive and #GAsyncResult data returned in the callback.
Parameters
flags | flags affecting the unmount if required for eject |
mountOperation | a #GMountOperation or null to avoid user interaction. |
cancellable | optional #GCancellable object, null to ignore. |
callback | a #GAsyncReadyCallback, or null. |
Finishes ejecting a drive. 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
Throws
Gets the kinds of identifiers that drive has. Use [gio.drive.Drive.getIdentifier] to obtain the identifiers themselves.
Returns
array of strings containing kinds of identifiers. Use [glib.global.strfreev] to free.
Gets the icon for drive.
Returns
Free the returned object with [gobject.object.ObjectWrap.unref].
Gets the identifier of the given kind for drive. The only identifier currently available is [gio.types.DRIVE_IDENTIFIER_KIND_UNIX_DEVICE].
Parameters
kind | the kind of identifier to return |
Returns
requested identifier, or null if the #GDrive doesn't have this kind of identifier.
Gets the name of drive.
Returns
string should be freed when no longer needed.
Gets the sort key for drive, if any.
Returns
Gets a hint about how a drive can be started/stopped.
Returns
Gets the icon for drive.
Returns
Free the returned object with [gobject.object.ObjectWrap.unref].
Get a list of mountable volumes for drive.
The returned list should be freed with [glib.list.List.free], after its elements have been unreffed with [gobject.object.ObjectWrap.unref].
Returns
Checks if the drive has media. Note that the OS may not be polling the drive for media changes; see [gio.drive.Drive.isMediaCheckAutomatic] for more details.
Returns
Check if drive has any mountable volumes.
Returns
Checks if drive is capable of automatically detecting media changes.
Returns
media changes, false otherwise.
Checks if the drive supports removable media.
Returns
Checks if the #GDrive and/or its media is considered removable by the user. See [gio.drive.Drive.isMediaRemovable].
Returns
Asynchronously polls drive to see if media has been inserted or removed.
When the operation is finished, callback will be called. You can then call [gio.drive.Drive.pollForMediaFinish] to obtain the result of the operation.
Parameters
cancellable | optional #GCancellable object, null to ignore. |
callback | a #GAsyncReadyCallback, or null. |
Finishes an operation started with [gio.drive.Drive.pollForMedia] on a drive.
Parameters
result | a #GAsyncResult. |
Returns
false otherwise.
Throws
Asynchronously starts a drive.
When the operation is finished, callback will be called. You can then call [gio.drive.Drive.startFinish] to obtain the result of the operation.
Parameters
flags | flags affecting the start operation. |
mountOperation | a #GMountOperation or null to avoid user interaction. |
cancellable | optional #GCancellable object, null to ignore. |
callback | a #GAsyncReadyCallback, or null. |
Finishes starting a drive.
Parameters
result | a #GAsyncResult. |
Returns
false otherwise.
Throws
Asynchronously stops a drive.
When the operation is finished, callback will be called. You can then call [gio.drive.Drive.stopFinish] to obtain the result of the operation.
Parameters
flags | flags affecting the unmount if required for stopping. |
mountOperation | a #GMountOperation or null to avoid user interaction. |
cancellable | optional #GCancellable object, null to ignore. |
callback | a #GAsyncReadyCallback, or null. |
Finishes stopping a drive.
Parameters
result | a #GAsyncResult. |
Returns
false otherwise.
Throws
Connect to Changed signal.
Emitted when the drive's state has changed.
Parameters
callback | signal callback delegate or function to connect void callback(gio.drive.Drive drive) drive the instance the signal is connected to (optional) |
after | Yes.After to execute callback after default handler, No.After to execute before (default) |
Returns
Connect to Disconnected signal.
This signal is emitted when the #GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized.
Parameters
callback | signal callback delegate or function to connect void callback(gio.drive.Drive drive) drive the instance the signal is connected to (optional) |
after | Yes.After to execute callback after default handler, No.After to execute before (default) |
Returns
Connect to EjectButton signal.
Emitted when the physical eject button (if any) of a drive has been pressed.
Parameters
callback | signal callback delegate or function to connect void callback(gio.drive.Drive drive) drive the instance the signal is connected to (optional) |
after | Yes.After to execute callback after default handler, No.After to execute before (default) |
Returns
Connect to StopButton signal.
Emitted when the physical stop button (if any) of a drive has been pressed.
Parameters
callback | signal callback delegate or function to connect void callback(gio.drive.Drive drive) drive the instance the signal is connected to (optional) |
after | Yes.After to execute callback after default handler, No.After to execute before (default) |