blob: 4ffc5ff706990fd832632bf3dc666235e55dc537 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GDrive</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GIO Reference Manual">
<link rel="up" href="volume_mon.html" title="Volumes and Drives">
<link rel="prev" href="GMount.html" title="GMount">
<link rel="next" href="gio-Unix-Mounts.html" title="Unix Mounts">
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GMount.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="volume_mon.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GIO Reference Manual</th>
<td><a accesskey="n" href="gio-Unix-Mounts.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#GDrive.synopsis" class="shortcut">Top</a>
 | 
<a href="#GDrive.description" class="shortcut">Description</a>
 | 
<a href="#GDrive.object-hierarchy" class="shortcut">Object Hierarchy</a>
 | 
<a href="#GDrive.prerequisites" class="shortcut">Prerequisites</a>
 | 
<a href="#GDrive.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry" title="GDrive">
<a name="GDrive"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GDrive.top_of_page"></a>GDrive</span></h2>
<p>GDrive — Drive management</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="GDrive.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gio/gio.h&gt;
<a class="link" href="GDrive.html#GDrive-struct" title="GDrive">GDrive</a>;
<a class="link" href="GDrive.html#GDriveIface" title="GDriveIface">GDriveIface</a>;
enum <a class="link" href="GDrive.html#GDriveStartFlags" title="enum GDriveStartFlags">GDriveStartFlags</a>;
enum <a class="link" href="GDrive.html#GDriveStartStopType" title="enum GDriveStartStopType">GDriveStartStopType</a>;
<span class="returnvalue">char</span> * <a class="link" href="GDrive.html#g-drive-get-name" title="g_drive_get_name ()">g_drive_get_name</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a class="link" href="GIcon.html" title="GIcon"><span class="returnvalue">GIcon</span></a> * <a class="link" href="GDrive.html#g-drive-get-icon" title="g_drive_get_icon ()">g_drive_get_icon</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-has-volumes" title="g_drive_has_volumes ()">g_drive_has_volumes</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GDrive.html#g-drive-get-volumes" title="g_drive_get_volumes ()">g_drive_get_volumes</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-can-eject" title="g_drive_can_eject ()">g_drive_can_eject</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a class="link" href="GDrive.html#GDriveStartStopType" title="enum GDriveStartStopType"><span class="returnvalue">GDriveStartStopType</span></a> <a class="link" href="GDrive.html#g-drive-get-start-stop-type" title="g_drive_get_start_stop_type ()">g_drive_get_start_stop_type</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-can-start" title="g_drive_can_start ()">g_drive_can_start</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-can-start-degraded" title="g_drive_can_start_degraded ()">g_drive_can_start_degraded</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-can-stop" title="g_drive_can_stop ()">g_drive_can_stop</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-can-poll-for-media" title="g_drive_can_poll_for_media ()">g_drive_can_poll_for_media</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GDrive.html#g-drive-poll-for-media" title="g_drive_poll_for_media ()">g_drive_poll_for_media</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-poll-for-media-finish" title="g_drive_poll_for_media_finish ()">g_drive_poll_for_media_finish</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-has-media" title="g_drive_has_media ()">g_drive_has_media</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-is-media-check-automatic" title="g_drive_is_media_check_automatic ()">g_drive_is_media_check_automatic</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-is-media-removable" title="g_drive_is_media_removable ()">g_drive_is_media_removable</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GDrive.html#g-drive-eject" title="g_drive_eject ()">g_drive_eject</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GMount.html#GMountUnmountFlags" title="enum GMountUnmountFlags"><span class="type">GMountUnmountFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-eject-finish" title="g_drive_eject_finish ()">g_drive_eject_finish</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GDrive.html#g-drive-eject-with-operation" title="g_drive_eject_with_operation ()">g_drive_eject_with_operation</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GMount.html#GMountUnmountFlags" title="enum GMountUnmountFlags"><span class="type">GMountUnmountFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> *mount_operation</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-eject-with-operation-finish" title="g_drive_eject_with_operation_finish ()">g_drive_eject_with_operation_finish</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GDrive.html#g-drive-start" title="g_drive_start ()">g_drive_start</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GDrive.html#GDriveStartFlags" title="enum GDriveStartFlags"><span class="type">GDriveStartFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> *mount_operation</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-start-finish" title="g_drive_start_finish ()">g_drive_start_finish</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GDrive.html#g-drive-stop" title="g_drive_stop ()">g_drive_stop</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GMount.html#GMountUnmountFlags" title="enum GMountUnmountFlags"><span class="type">GMountUnmountFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> *mount_operation</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GDrive.html#g-drive-stop-finish" title="g_drive_stop_finish ()">g_drive_stop_finish</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">char</span> ** <a class="link" href="GDrive.html#g-drive-enumerate-identifiers" title="g_drive_enumerate_identifiers ()">g_drive_enumerate_identifiers</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);
<span class="returnvalue">char</span> * <a class="link" href="GDrive.html#g-drive-get-identifier" title="g_drive_get_identifier ()">g_drive_get_identifier</a> (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *kind</code></em>);
</pre>
</div>
<div class="refsect1" title="Object Hierarchy">
<a name="GDrive.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
GInterface
+----GDrive
</pre>
</div>
<div class="refsect1" title="Prerequisites">
<a name="GDrive.prerequisites"></a><h2>Prerequisites</h2>
<p>
GDrive requires
<a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>.</p>
</div>
<div class="refsect1" title="Signals">
<a name="GDrive.signals"></a><h2>Signals</h2>
<pre class="synopsis">
"<a class="link" href="GDrive.html#GDrive-changed" title='The "changed" signal'>changed</a>" : Run Last
"<a class="link" href="GDrive.html#GDrive-disconnected" title='The "disconnected" signal'>disconnected</a>" : Run Last
"<a class="link" href="GDrive.html#GDrive-eject-button" title='The "eject-button" signal'>eject-button</a>" : Run Last
"<a class="link" href="GDrive.html#GDrive-stop-button" title='The "stop-button" signal'>stop-button</a>" : Run Last
</pre>
</div>
<div class="refsect1" title="Description">
<a name="GDrive.description"></a><h2>Description</h2>
<p>
<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> - this represent a piece of hardware connected to the machine.
It's generally only created for removable hardware or hardware with
removable media.
</p>
<p>
<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> is a container class for <a class="link" href="GVolume.html" title="GVolume"><span class="type">GVolume</span></a> objects that stem from
the same piece of media. As such, <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> abstracts a drive with
(or without) removable media and provides operations for querying
whether media is available, determing whether media change is
automatically detected and ejecting the media.
</p>
<p>
If the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> 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 potententially expensive and may
spin up the drive creating noise.
</p>
<p>
<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> 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 <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> may vary
according to implementation. To choose the correct verbs in e.g. a
file manager, use <a class="link" href="GDrive.html#g-drive-get-start-stop-type" title="g_drive_get_start_stop_type ()"><code class="function">g_drive_get_start_stop_type()</code></a>.
</p>
<p>
For porting from GnomeVFS note that there is no equivalent of
<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> in that API.
</p>
</div>
<div class="refsect1" title="Details">
<a name="GDrive.details"></a><h2>Details</h2>
<div class="refsect2" title="GDrive">
<a name="GDrive-struct"></a><h3>GDrive</h3>
<pre class="programlisting">typedef struct _GDrive GDrive;</pre>
<p>
Opaque drive object.
</p>
</div>
<hr>
<div class="refsect2" title="GDriveIface">
<a name="GDriveIface"></a><h3>GDriveIface</h3>
<pre class="programlisting">typedef struct {
GTypeInterface g_iface;
/* signals */
void (* changed) (GDrive *drive);
void (* disconnected) (GDrive *drive);
void (* eject_button) (GDrive *drive);
/* Virtual Table */
char * (* get_name) (GDrive *drive);
GIcon * (* get_icon) (GDrive *drive);
gboolean (* has_volumes) (GDrive *drive);
GList * (* get_volumes) (GDrive *drive);
gboolean (* is_media_removable) (GDrive *drive);
gboolean (* has_media) (GDrive *drive);
gboolean (* is_media_check_automatic) (GDrive *drive);
gboolean (* can_eject) (GDrive *drive);
gboolean (* can_poll_for_media) (GDrive *drive);
void (* eject) (GDrive *drive,
GMountUnmountFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (* eject_finish) (GDrive *drive,
GAsyncResult *result,
GError **error);
void (* poll_for_media) (GDrive *drive,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (* poll_for_media_finish) (GDrive *drive,
GAsyncResult *result,
GError **error);
char * (* get_identifier) (GDrive *drive,
const char *kind);
char ** (* enumerate_identifiers) (GDrive *drive);
GDriveStartStopType (* get_start_stop_type) (GDrive *drive);
gboolean (* can_start) (GDrive *drive);
gboolean (* can_start_degraded) (GDrive *drive);
void (* start) (GDrive *drive,
GDriveStartFlags flags,
GMountOperation *mount_operation,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (* start_finish) (GDrive *drive,
GAsyncResult *result,
GError **error);
gboolean (* can_stop) (GDrive *drive);
void (* stop) (GDrive *drive,
GMountUnmountFlags flags,
GMountOperation *mount_operation,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (* stop_finish) (GDrive *drive,
GAsyncResult *result,
GError **error);
/* signal, not VFunc */
void (* stop_button) (GDrive *drive);
void (* eject_with_operation) (GDrive *drive,
GMountUnmountFlags flags,
GMountOperation *mount_operation,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (* eject_with_operation_finish) (GDrive *drive,
GAsyncResult *result,
GError **error);
} GDriveIface;
</pre>
<p>
Interface for creating <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> implementations.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GDriveIface.g-iface"></a>g_iface</code></em>;</span></p></td>
<td>The parent interface.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.changed"></a>changed</code></em> ()</span></p></td>
<td>Signal emitted when the drive is changed.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.disconnected"></a>disconnected</code></em> ()</span></p></td>
<td>The removed signal that is emitted when the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.eject-button"></a>eject_button</code></em> ()</span></p></td>
<td>Signal emitted when the physical eject button (if any) of a drive have been pressed.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.get-name"></a>get_name</code></em> ()</span></p></td>
<td>Returns the name for the given <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.get-icon"></a>get_icon</code></em> ()</span></p></td>
<td>Returns a <a class="link" href="GIcon.html" title="GIcon"><span class="type">GIcon</span></a> for the given <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.has-volumes"></a>has_volumes</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> has mountable volumes.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.get-volumes"></a>get_volumes</code></em> ()</span></p></td>
<td>Returns a list <a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="GVolume.html" title="GVolume"><span class="type">GVolume</span></a> for the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.is-media-removable"></a>is_media_removable</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> supports removal and insertion of media.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.has-media"></a>has_media</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> has media inserted.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.is-media-check-automatic"></a>is_media_check_automatic</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> is capabable of automatically detecting media changes.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.can-eject"></a>can_eject</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> can eject media.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.can-poll-for-media"></a>can_poll_for_media</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> is capable of manually polling for media change.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.eject"></a>eject</code></em> ()</span></p></td>
<td>Ejects a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.eject-finish"></a>eject_finish</code></em> ()</span></p></td>
<td>Finishes an eject operation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.poll-for-media"></a>poll_for_media</code></em> ()</span></p></td>
<td>Poll for media insertion/removal on a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.poll-for-media-finish"></a>poll_for_media_finish</code></em> ()</span></p></td>
<td>Finishes a media poll operation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.get-identifier"></a>get_identifier</code></em> ()</span></p></td>
<td>Returns the identifier of the given kind, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> doesn't have one.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.enumerate-identifiers"></a>enumerate_identifiers</code></em> ()</span></p></td>
<td>Returns an array strings listing the kinds
of identifiers which the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> has.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.get-start-stop-type"></a>get_start_stop_type</code></em> ()</span></p></td>
<td>Gets a <a class="link" href="GDrive.html#GDriveStartStopType" title="enum GDriveStartStopType"><span class="type">GDriveStartStopType</span></a> with details about starting/stopping the drive. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.can-start"></a>can_start</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> can be started. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.can-start-degraded"></a>can_start_degraded</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> can be started degraded. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.start"></a>start</code></em> ()</span></p></td>
<td>Starts a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.start-finish"></a>start_finish</code></em> ()</span></p></td>
<td>Finishes a start operation. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.can-stop"></a>can_stop</code></em> ()</span></p></td>
<td>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> can be stopped. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.stop"></a>stop</code></em> ()</span></p></td>
<td>Stops a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.stop-finish"></a>stop_finish</code></em> ()</span></p></td>
<td>Finishes a stop operation. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.stop-button"></a>stop_button</code></em> ()</span></p></td>
<td>Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.eject-with-operation"></a>eject_with_operation</code></em> ()</span></p></td>
<td>Starts ejecting a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> using a <a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a>. Since 2.22.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GDriveIface.eject-with-operation-finish"></a>eject_with_operation_finish</code></em> ()</span></p></td>
<td>Finishes an eject operation using a <a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a>. Since 2.22.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="enum GDriveStartFlags">
<a name="GDriveStartFlags"></a><h3>enum GDriveStartFlags</h3>
<pre class="programlisting">typedef enum {
G_DRIVE_START_NONE = 0
} GDriveStartFlags;
</pre>
<p>
Flags used when starting a drive.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><a name="G-DRIVE-START-NONE:CAPS"></a><span class="term"><code class="literal">G_DRIVE_START_NONE</code></span></p></td>
<td>No flags set.
</td>
</tr></tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="enum GDriveStartStopType">
<a name="GDriveStartStopType"></a><h3>enum GDriveStartStopType</h3>
<pre class="programlisting">typedef enum {
G_DRIVE_START_STOP_TYPE_UNKNOWN,
G_DRIVE_START_STOP_TYPE_SHUTDOWN,
G_DRIVE_START_STOP_TYPE_NETWORK,
G_DRIVE_START_STOP_TYPE_MULTIDISK,
G_DRIVE_START_STOP_TYPE_PASSWORD
} GDriveStartStopType;
</pre>
<p>
Enumeration describing how a drive can be started/stopped.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="G-DRIVE-START-STOP-TYPE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">G_DRIVE_START_STOP_TYPE_UNKNOWN</code></span></p></td>
<td>Unknown or drive doesn't support
start/stop.
</td>
</tr>
<tr>
<td><p><a name="G-DRIVE-START-STOP-TYPE-SHUTDOWN:CAPS"></a><span class="term"><code class="literal">G_DRIVE_START_STOP_TYPE_SHUTDOWN</code></span></p></td>
<td>The stop method will physically
shut down the drive and e.g. power down the port the drive is
attached to.
</td>
</tr>
<tr>
<td><p><a name="G-DRIVE-START-STOP-TYPE-NETWORK:CAPS"></a><span class="term"><code class="literal">G_DRIVE_START_STOP_TYPE_NETWORK</code></span></p></td>
<td>The start/stop methods are used
for connecting/disconnect to the drive over the network.
</td>
</tr>
<tr>
<td><p><a name="G-DRIVE-START-STOP-TYPE-MULTIDISK:CAPS"></a><span class="term"><code class="literal">G_DRIVE_START_STOP_TYPE_MULTIDISK</code></span></p></td>
<td>The start/stop methods will
assemble/disassemble a virtual drive from several physical
drives.
</td>
</tr>
<tr>
<td><p><a name="G-DRIVE-START-STOP-TYPE-PASSWORD:CAPS"></a><span class="term"><code class="literal">G_DRIVE_START_STOP_TYPE_PASSWORD</code></span></p></td>
<td>The start/stop methods will
unlock/lock the disk (for example using the ATA <span class="quote"><span class="quote">SECURITY
UNLOCK DEVICE</span></span> command)
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_get_name ()">
<a name="g-drive-get-name"></a><h3>g_drive_get_name ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> * g_drive_get_name (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Gets the name of <em class="parameter"><code>drive</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a string containing <em class="parameter"><code>drive</code></em>'s name. The returned
string should be freed when no longer needed.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_get_icon ()">
<a name="g-drive-get-icon"></a><h3>g_drive_get_icon ()</h3>
<pre class="programlisting"><a class="link" href="GIcon.html" title="GIcon"><span class="returnvalue">GIcon</span></a> * g_drive_get_icon (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Gets the icon for <em class="parameter"><code>drive</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a class="link" href="GIcon.html" title="GIcon"><span class="type">GIcon</span></a> for the <em class="parameter"><code>drive</code></em>.
Free the returned object with <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_has_volumes ()">
<a name="g-drive-has-volumes"></a><h3>g_drive_has_volumes ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_has_volumes (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Check if <em class="parameter"><code>drive</code></em> has any mountable volumes.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> contains volumes, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_get_volumes ()">
<a name="g-drive-get-volumes"></a><h3>g_drive_get_volumes ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * g_drive_get_volumes (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Get a list of mountable volumes for <em class="parameter"><code>drive</code></em>.
</p>
<p>
The returned list should be freed with <a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>, after
its elements have been unreffed with <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> containing any <a class="link" href="GVolume.html" title="GVolume"><span class="type">GVolume</span></a> objects on the given <em class="parameter"><code>drive</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_can_eject ()">
<a name="g-drive-can-eject"></a><h3>g_drive_can_eject ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_can_eject (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if a drive can be ejected.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> can be ejected, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_get_start_stop_type ()">
<a name="g-drive-get-start-stop-type"></a><h3>g_drive_get_start_stop_type ()</h3>
<pre class="programlisting"><a class="link" href="GDrive.html#GDriveStartStopType" title="enum GDriveStartStopType"><span class="returnvalue">GDriveStartStopType</span></a> g_drive_get_start_stop_type (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Gets a hint about how a drive can be started/stopped.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A value from the <a class="link" href="GDrive.html#GDriveStartStopType" title="enum GDriveStartStopType"><span class="type">GDriveStartStopType</span></a> enumeration.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_can_start ()">
<a name="g-drive-can-start"></a><h3>g_drive_can_start ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_can_start (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if a drive can be started.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> can be started, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_can_start_degraded ()">
<a name="g-drive-can-start-degraded"></a><h3>g_drive_can_start_degraded ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_can_start_degraded (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if a drive can be started degraded.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> can be started degraded, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_can_stop ()">
<a name="g-drive-can-stop"></a><h3>g_drive_can_stop ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_can_stop (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if a drive can be stopped.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> can be stopped, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_can_poll_for_media ()">
<a name="g-drive-can-poll-for-media"></a><h3>g_drive_can_poll_for_media ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_can_poll_for_media (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if a drive can be polled for media changes.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> can be polled for media changes,
<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_poll_for_media ()">
<a name="g-drive-poll-for-media"></a><h3>g_drive_poll_for_media ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> g_drive_poll_for_media (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Asynchronously polls <em class="parameter"><code>drive</code></em> to see if media has been inserted or removed.
</p>
<p>
When the operation is finished, <em class="parameter"><code>callback</code></em> will be called.
You can then call <a class="link" href="GDrive.html#g-drive-poll-for-media-finish" title="g_drive_poll_for_media_finish ()"><code class="function">g_drive_poll_for_media_finish()</code></a> to obtain the
result of the operation.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data to pass to <em class="parameter"><code>callback</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_poll_for_media_finish ()">
<a name="g-drive-poll-for-media-finish"></a><h3>g_drive_poll_for_media_finish ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_poll_for_media_finish (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Finishes an operation started with <a class="link" href="GDrive.html#g-drive-poll-for-media" title="g_drive_poll_for_media ()"><code class="function">g_drive_poll_for_media()</code></a> on a drive.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the drive has been poll_for_mediaed successfully,
<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_has_media ()">
<a name="g-drive-has-media"></a><h3>g_drive_has_media ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_has_media (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if the <em class="parameter"><code>drive</code></em> has media. Note that the OS may not be polling
the drive for media changes; see <a class="link" href="GDrive.html#g-drive-is-media-check-automatic" title="g_drive_is_media_check_automatic ()"><code class="function">g_drive_is_media_check_automatic()</code></a>
for more details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>drive</code></em> has media, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_is_media_check_automatic ()">
<a name="g-drive-is-media-check-automatic"></a><h3>g_drive_is_media_check_automatic ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_is_media_check_automatic (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if <em class="parameter"><code>drive</code></em> is capabable of automatically detecting media changes.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>drive</code></em> is capabable of automatically detecting
media changes, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_is_media_removable ()">
<a name="g-drive-is-media-removable"></a><h3>g_drive_is_media_removable ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_is_media_removable (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Checks if the <em class="parameter"><code>drive</code></em> supports removable media.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>drive</code></em> supports removable media, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_eject ()">
<a name="g-drive-eject"></a><h3>g_drive_eject ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> g_drive_eject (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GMount.html#GMountUnmountFlags" title="enum GMountUnmountFlags"><span class="type">GMountUnmountFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">g_drive_eject</code> has been deprecated since version 2.22 and should not be used in newly-written code. Use <a class="link" href="GDrive.html#g-drive-eject-with-operation" title="g_drive_eject_with_operation ()"><code class="function">g_drive_eject_with_operation()</code></a> instead.</p>
</div>
<p>
Asynchronously ejects a drive.
</p>
<p>
When the operation is finished, <em class="parameter"><code>callback</code></em> will be called.
You can then call <a class="link" href="GDrive.html#g-drive-eject-finish" title="g_drive_eject_finish ()"><code class="function">g_drive_eject_finish()</code></a> to obtain the
result of the operation.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>flags affecting the unmount if required for eject
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data to pass to <em class="parameter"><code>callback</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_eject_finish ()">
<a name="g-drive-eject-finish"></a><h3>g_drive_eject_finish ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_eject_finish (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">g_drive_eject_finish</code> has been deprecated since version 2.22 and should not be used in newly-written code. Use <a class="link" href="GDrive.html#g-drive-eject-with-operation-finish" title="g_drive_eject_with_operation_finish ()"><code class="function">g_drive_eject_with_operation_finish()</code></a> instead.</p>
</div>
<p>
Finishes ejecting a drive.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the drive has been ejected successfully,
<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_eject_with_operation ()">
<a name="g-drive-eject-with-operation"></a><h3>g_drive_eject_with_operation ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> g_drive_eject_with_operation (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GMount.html#GMountUnmountFlags" title="enum GMountUnmountFlags"><span class="type">GMountUnmountFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> *mount_operation</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Ejects a drive. This is an asynchronous operation, and is
finished by calling <a class="link" href="GDrive.html#g-drive-eject-with-operation-finish" title="g_drive_eject_with_operation_finish ()"><code class="function">g_drive_eject_with_operation_finish()</code></a> with the <em class="parameter"><code>drive</code></em>
and <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> data returned in the <em class="parameter"><code>callback</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>flags affecting the unmount if required for eject
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mount_operation</code></em> :</span></p></td>
<td>a <a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to avoid user interaction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data passed to <em class="parameter"><code>callback</code></em>.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_eject_with_operation_finish ()">
<a name="g-drive-eject-with-operation-finish"></a><h3>g_drive_eject_with_operation_finish ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_eject_with_operation_finish (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Finishes ejecting a drive. If any errors occurred during the operation,
<em class="parameter"><code>error</code></em> will be set to contain the errors and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occuring, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the drive was successfully ejected. <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_start ()">
<a name="g-drive-start"></a><h3>g_drive_start ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> g_drive_start (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GDrive.html#GDriveStartFlags" title="enum GDriveStartFlags"><span class="type">GDriveStartFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> *mount_operation</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Asynchronously starts a drive.
</p>
<p>
When the operation is finished, <em class="parameter"><code>callback</code></em> will be called.
You can then call <a class="link" href="GDrive.html#g-drive-start-finish" title="g_drive_start_finish ()"><code class="function">g_drive_start_finish()</code></a> to obtain the
result of the operation.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>flags affecting the start operation.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mount_operation</code></em> :</span></p></td>
<td>a <a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to avoid user interaction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data to pass to <em class="parameter"><code>callback</code></em>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_start_finish ()">
<a name="g-drive-start-finish"></a><h3>g_drive_start_finish ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_start_finish (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Finishes starting a drive.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the drive has been started successfully,
<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_stop ()">
<a name="g-drive-stop"></a><h3>g_drive_stop ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> g_drive_stop (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GMount.html#GMountUnmountFlags" title="enum GMountUnmountFlags"><span class="type">GMountUnmountFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> *mount_operation</code></em>,
<em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Asynchronously stops a drive.
</p>
<p>
When the operation is finished, <em class="parameter"><code>callback</code></em> will be called.
You can then call <a class="link" href="GDrive.html#g-drive-stop-finish" title="g_drive_stop_finish ()"><code class="function">g_drive_stop_finish()</code></a> to obtain the
result of the operation.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>flags affecting the unmount if required for stopping.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mount_operation</code></em> :</span></p></td>
<td>a <a class="link" href="GMountOperation.html" title="GMountOperation"><span class="type">GMountOperation</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to avoid user interaction.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data to pass to <em class="parameter"><code>callback</code></em>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_stop_finish ()">
<a name="g-drive-stop-finish"></a><h3>g_drive_stop_finish ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_drive_stop_finish (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Finishes stopping a drive.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
<td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the drive has been stopped successfully,
<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_drive_enumerate_identifiers ()">
<a name="g-drive-enumerate-identifiers"></a><h3>g_drive_enumerate_identifiers ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> ** g_drive_enumerate_identifiers (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>);</pre>
<p>
Gets the kinds of identifiers that <em class="parameter"><code>drive</code></em> has.
Use <code class="function">g_drive_get_identifer()</code> to obtain the identifiers
themselves.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of strings containing
kinds of identifiers. Use <a href="/usr/share/gtk-doc/html/glib/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> to free.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="g_drive_get_identifier ()">
<a name="g-drive-get-identifier"></a><h3>g_drive_get_identifier ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> * g_drive_get_identifier (<em class="parameter"><code><a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *kind</code></em>);</pre>
<p>
Gets the identifier of the given kind for <em class="parameter"><code>drive</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>kind</code></em> :</span></p></td>
<td>the kind of identifier to return
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a newly allocated string containing the
requested identfier, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>
doesn't have this kind of identifier.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" title="Signal Details">
<a name="GDrive.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2" title='The "changed" signal'>
<a name="GDrive-changed"></a><h3>The <code class="literal">"changed"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive,
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
<p>
Emitted when the drive's state has changed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title='The "disconnected" signal'>
<a name="GDrive-disconnected"></a><h3>The <code class="literal">"disconnected"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive,
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
<p>
This signal is emitted when the <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> have been
disconnected. If the recipient is holding references to the
object they should release them so the object can be
finalized.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title='The "eject-button" signal'>
<a name="GDrive-eject-button"></a><h3>The <code class="literal">"eject-button"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive,
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
<p>
Emitted when the physical eject button (if any) of a drive has
been pressed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title='The "stop-button" signal'>
<a name="GDrive-stop-button"></a><h3>The <code class="literal">"stop-button"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a> *drive,
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
<p>
Emitted when the physical stop button (if any) of a drive has
been pressed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>drive</code></em> :</span></p></td>
<td>a <a class="link" href="GDrive.html" title="GDrive"><span class="type">GDrive</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.14</div>
</body>
</html>