mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-05 23:48:44 +02:00
Bug 585591 – Starting/stopping drives
Add API for starting/stopping drives. This new API will enable GVolumeMonitor and GVfs implementations to add support for the following features 1. Powering down external hard disk enclosures / drives 2. Starting/stopping multi-disk devices (such as RAID/btrfs/ZFS) 3. Connecting/disconnecting iSCSI devices 4. Reacting to the user pressing e.g. the "remove drive" button on a IBM/Lenovo Ultrabay: http://www.thinkwiki.org/wiki/Ultrabay See the bug for the corresponding GVfs and Nautilus changes.
This commit is contained in:
41
gio/gfile.h
41
gio/gfile.h
@@ -141,6 +141,10 @@ typedef struct _GFileIface GFileIface;
|
||||
* @replace_readwrite: Replaces file read/write. Since 2.22.
|
||||
* @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22.
|
||||
* @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22.
|
||||
* @start_mountable: Starts a mountable object. Since 2.22.
|
||||
* @start_mountable_finish: Finishes an start operation. Since 2.22.
|
||||
* @stop_mountable: Stops a mountable. Since 2.22.
|
||||
* @stop_mountable_finish: Finishes an stop operation. Since 2.22.
|
||||
*
|
||||
* An interface for writing VFS file handles.
|
||||
**/
|
||||
@@ -482,6 +486,25 @@ struct _GFileIface
|
||||
GFileIOStream * (* replace_readwrite_finish) (GFile *file,
|
||||
GAsyncResult *res,
|
||||
GError **error);
|
||||
|
||||
void (* start_mountable) (GFile *file,
|
||||
GDriveStartFlags flags,
|
||||
GMountOperation *start_operation,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
gboolean (* start_mountable_finish) (GFile *file,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
|
||||
void (* stop_mountable) (GFile *file,
|
||||
GMountUnmountFlags flags,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
gboolean (* stop_mountable_finish) (GFile *file,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
};
|
||||
|
||||
GType g_file_get_type (void) G_GNUC_CONST;
|
||||
@@ -843,6 +866,24 @@ GFileMonitor* g_file_monitor (GFile
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
void g_file_start_mountable (GFile *file,
|
||||
GDriveStartFlags flags,
|
||||
GMountOperation *start_operation,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
gboolean g_file_start_mountable_finish (GFile *file,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
void g_file_stop_mountable (GFile *file,
|
||||
GMountUnmountFlags flags,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
gboolean g_file_stop_mountable_finish (GFile *file,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
|
||||
|
||||
/* Utilities */
|
||||
|
||||
|
Reference in New Issue
Block a user