module Gio::Drive

Overview

#GDrive - this represent a piece of hardware connected to the machine. It's generally only created for removable hardware or hardware with removable media.

#GDrive is a container class for #GVolume objects that stem from the same piece of media. As such, #GDrive 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 #GDrive 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.

#GDrive 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 #GDrive may vary according to implementation. To choose the correct verbs in e.g. a file manager, use g_drive_get_start_stop_type().

For porting from GnomeVFS note that there is no equivalent of #GDrive in that API.

Defined in:

lib/gi-crystal/src/auto/gio-2.0/drive.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.cast(obj : GObject::Object) : self #

Cast a GObject::Object to self, throws a TypeCastError if the cast can't be made.


[View source]

Class Method Detail

def self.cast?(obj : GObject::Object) : self | Nil #

[View source]
def self.g_type : UInt64 #

[View source]

Instance Method Detail

def can_eject : Bool #

[View source]
def can_poll_for_media : Bool #

[View source]
def can_start : Bool #

[View source]
def can_start_degraded : Bool #

[View source]
def can_stop : Bool #

[View source]
def changed_signal #

[View source]
def disconnected_signal #

[View source]
def eject(flags : Gio::MountUnmountFlags, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

DEPRECATED


[View source]
def eject_button_signal #

[View source]
def eject_finish(result : Gio::AsyncResult) : Bool #

DEPRECATED


[View source]
def eject_with_operation(flags : Gio::MountUnmountFlags, mount_operation : Gio::MountOperation | Nil, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

[View source]
def eject_with_operation_finish(result : Gio::AsyncResult) : Bool #

[View source]
def enumerate_identifiers : Enumerable(String) #

[View source]
def has_media : Bool #

[View source]
def has_volumes : Bool #

[View source]
def icon : Gio::Icon #

[View source]
def identifier(kind : String) : String | Nil #

[View source]
def is_media_check_automatic : Bool #

[View source]
def is_media_removable : Bool #

[View source]
def is_removable : Bool #

[View source]
def name : String #

[View source]
def poll_for_media(cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

[View source]
def poll_for_media_finish(result : Gio::AsyncResult) : Bool #

[View source]
def sort_key : String | Nil #

[View source]
def start(flags : Gio::DriveStartFlags, mount_operation : Gio::MountOperation | Nil, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

[View source]
def start_finish(result : Gio::AsyncResult) : Bool #

[View source]
def start_stop_type : Gio::DriveStartStopType #

[View source]
def stop(flags : Gio::MountUnmountFlags, mount_operation : Gio::MountOperation | Nil, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil #

[View source]
def stop_button_signal #

[View source]
def stop_finish(result : Gio::AsyncResult) : Bool #

[View source]
def symbolic_icon : Gio::Icon #

[View source]
abstract def to_unsafe #

[View source]
def volumes : GLib::List #

[View source]