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

Class Method Summary

Instance Method Summary

Class Method Detail

def self.g_type : UInt64 #

Instance Method Detail

def can_eject : Bool #

def can_poll_for_media : Bool #

def can_start : Bool #

def can_start_degraded : Bool #

def can_stop : Bool #

def changed_signal #

def disconnected_signal #

def eject(flags : Gio::MountUnmountFlags, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil #

def eject_button_signal #

def eject_finish(result : Gio::AsyncResult) : Bool #

def eject_with_operation(flags : Gio::MountUnmountFlags, mount_operation : Gio::MountOperation?, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil #

def eject_with_operation_finish(result : Gio::AsyncResult) : Bool #

def enumerate_identifiers : Enumerable(String) #

def has_media : Bool #

def has_volumes : Bool #

def icon : Gio::Icon #

def identifier(kind : String) : String? #

def is_media_check_automatic : Bool #

def is_media_removable : Bool #

def is_removable : Bool #

def name : String #

def poll_for_media(cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil #

def poll_for_media_finish(result : Gio::AsyncResult) : Bool #

def sort_key : String? #

def start(flags : Gio::DriveStartFlags, mount_operation : Gio::MountOperation?, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil #

def start_finish(result : Gio::AsyncResult) : Bool #

def start_stop_type : Gio::DriveStartStopType #

def stop(flags : Gio::MountUnmountFlags, mount_operation : Gio::MountOperation?, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil #

def stop_button_signal #

def stop_finish(result : Gio::AsyncResult) : Bool #

def symbolic_icon : Gio::Icon #

abstract def to_unsafe #

def volumes : GLib::List #