X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgvolumemonitor.c;h=441afc66719237284bff8cb1961c9fe2e2e04a63;hb=cea9de93c8838099661f5b54462f9c4b6410bfc9;hp=eb219b739354771d4fc7ec377c7ae7806ef2a8c1;hpb=acf029139d6ccb73bce2d7abefa3fffc78470c88;p=platform%2Fupstream%2Fglib.git
diff --git a/gio/gvolumemonitor.c b/gio/gvolumemonitor.c
index eb219b7..441afc6 100644
--- a/gio/gvolumemonitor.c
+++ b/gio/gvolumemonitor.c
@@ -1,3 +1,5 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
/* GIO - GLib Input, Output and Streaming Library
*
* Copyright (C) 2006-2007 Red Hat, Inc.
@@ -13,30 +15,35 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see .
*
* Author: Alexander Larsson
* David Zeuthen
*/
-#include
+#include "config.h"
#include "gvolumemonitor.h"
+#include "gvolume.h"
+#include "gmount.h"
+#include "gdrive.h"
#include "glibintl.h"
-#include "gioalias.h"
/**
* SECTION:gvolumemonitor
* @short_description: Volume Monitor
- * @include: gio.h
+ * @include: gio/gio.h
* @see_also: #GFileMonitor
*
* #GVolumeMonitor is for listing the user interesting devices and volumes
* on the computer. In other words, what a file selector or file manager
* would show in a sidebar.
-**/
+ *
+ * #GVolumeMonitor is not
+ * [thread-default-context aware][g-main-context-push-thread-default],
+ * and so should not be used other than from the main thread, with no
+ * thread-default-context active.
+ **/
G_DEFINE_TYPE (GVolumeMonitor, g_volume_monitor, G_TYPE_OBJECT);
@@ -51,6 +58,8 @@ enum {
DRIVE_CONNECTED,
DRIVE_DISCONNECTED,
DRIVE_CHANGED,
+ DRIVE_EJECT_BUTTON,
+ DRIVE_STOP_BUTTON,
LAST_SIGNAL
};
@@ -60,12 +69,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
static void
g_volume_monitor_finalize (GObject *object)
{
- GVolumeMonitor *monitor;
-
- monitor = G_VOLUME_MONITOR (object);
-
- if (G_OBJECT_CLASS (g_volume_monitor_parent_class)->finalize)
- (*G_OBJECT_CLASS (g_volume_monitor_parent_class)->finalize) (object);
+ G_OBJECT_CLASS (g_volume_monitor_parent_class)->finalize (object);
}
static void
@@ -82,7 +86,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a mountable volume is added to the system.
**/
- signals[VOLUME_ADDED] = g_signal_new (I_("volume_added"),
+ signals[VOLUME_ADDED] = g_signal_new (I_("volume-added"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, volume_added),
@@ -97,7 +101,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a mountable volume is removed from the system.
**/
- signals[VOLUME_REMOVED] = g_signal_new (I_("volume_removed"),
+ signals[VOLUME_REMOVED] = g_signal_new (I_("volume-removed"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, volume_removed),
@@ -112,7 +116,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when mountable volume is changed.
**/
- signals[VOLUME_CHANGED] = g_signal_new (I_("volume_changed"),
+ signals[VOLUME_CHANGED] = g_signal_new (I_("volume-changed"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, volume_changed),
@@ -127,7 +131,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a mount is added.
**/
- signals[MOUNT_ADDED] = g_signal_new (I_("mount_added"),
+ signals[MOUNT_ADDED] = g_signal_new (I_("mount-added"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_added),
@@ -142,7 +146,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a mount is removed.
**/
- signals[MOUNT_REMOVED] = g_signal_new (I_("mount_removed"),
+ signals[MOUNT_REMOVED] = g_signal_new (I_("mount-removed"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_removed),
@@ -157,7 +161,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a mount is about to be removed.
**/
- signals[MOUNT_PRE_UNMOUNT] = g_signal_new (I_("mount_pre_unmount"),
+ signals[MOUNT_PRE_UNMOUNT] = g_signal_new (I_("mount-pre-unmount"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_pre_unmount),
@@ -172,7 +176,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a mount changes.
**/
- signals[MOUNT_CHANGED] = g_signal_new (I_("mount_changed"),
+ signals[MOUNT_CHANGED] = g_signal_new (I_("mount-changed"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, mount_changed),
@@ -187,7 +191,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a drive is connected to the system.
**/
- signals[DRIVE_CONNECTED] = g_signal_new (I_("drive_connected"),
+ signals[DRIVE_CONNECTED] = g_signal_new (I_("drive-connected"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_connected),
@@ -202,7 +206,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a drive is disconnected from the system.
**/
- signals[DRIVE_DISCONNECTED] = g_signal_new (I_("drive_disconnected"),
+ signals[DRIVE_DISCONNECTED] = g_signal_new (I_("drive-disconnected"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_disconnected),
@@ -217,7 +221,7 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
*
* Emitted when a drive changes.
**/
- signals[DRIVE_CHANGED] = g_signal_new (I_("drive_changed"),
+ signals[DRIVE_CHANGED] = g_signal_new (I_("drive-changed"),
G_TYPE_VOLUME_MONITOR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GVolumeMonitorClass, drive_changed),
@@ -225,6 +229,40 @@ g_volume_monitor_class_init (GVolumeMonitorClass *klass)
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, G_TYPE_DRIVE);
+ /**
+ * GVolumeMonitor::drive-eject-button:
+ * @volume_monitor: The volume monitor emitting the signal.
+ * @drive: the drive where the eject button was pressed
+ *
+ * Emitted when the eject button is pressed on @drive.
+ *
+ * Since: 2.18
+ **/
+ signals[DRIVE_EJECT_BUTTON] = g_signal_new (I_("drive-eject-button"),
+ G_TYPE_VOLUME_MONITOR,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GVolumeMonitorClass, drive_eject_button),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, G_TYPE_DRIVE);
+
+ /**
+ * GVolumeMonitor::drive-stop-button:
+ * @volume_monitor: The volume monitor emitting the signal.
+ * @drive: the drive where the stop button was pressed
+ *
+ * Emitted when the stop button is pressed on @drive.
+ *
+ * Since: 2.22
+ **/
+ signals[DRIVE_STOP_BUTTON] = g_signal_new (I_("drive-stop-button"),
+ G_TYPE_VOLUME_MONITOR,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GVolumeMonitorClass, drive_stop_button),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, G_TYPE_DRIVE);
+
}
static void
@@ -238,11 +276,11 @@ g_volume_monitor_init (GVolumeMonitor *monitor)
* @volume_monitor: a #GVolumeMonitor.
*
* Gets a list of drives connected to the system.
- *
- * The returned list should be freed with g_list_free(), but
- * its elements need not be freed.
*
- * Returns: a #GList of connected #GDrives - free with g_list_free().
+ * The returned list should be freed with g_list_free(), after
+ * its elements have been unreffed with g_object_unref().
+ *
+ * Returns: (element-type GDrive) (transfer full): a #GList of connected #GDrive objects.
**/
GList *
g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor)
@@ -261,11 +299,11 @@ g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor)
* @volume_monitor: a #GVolumeMonitor.
*
* Gets a list of the volumes on the system.
- *
- * The returned list should be freed with g_list_free(), but
- * its elements need not be freed.
*
- * Returns: a #GList of #GVolume - free with g_list_free().
+ * The returned list should be freed with g_list_free(), after
+ * its elements have been unreffed with g_object_unref().
+ *
+ * Returns: (element-type GVolume) (transfer full): a #GList of #GVolume objects.
**/
GList *
g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor)
@@ -285,10 +323,10 @@ g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor)
*
* Gets a list of the mounts on the system.
*
- * The returned list should be freed with g_list_free(), but
- * its elements need not be freed.
+ * The returned list should be freed with g_list_free(), after
+ * its elements have been unreffed with g_object_unref().
*
- * Returns: a #GList of #GMount - free with g_list_free().
+ * Returns: (element-type GMount) (transfer full): a #GList of #GMount objects.
**/
GList *
g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor)
@@ -307,13 +345,14 @@ g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor)
* @volume_monitor: a #GVolumeMonitor.
* @uuid: the UUID to look for
*
- * Finds a #GVolume object by it's UUID (see g_volume_get_uuid())
+ * Finds a #GVolume object by its UUID (see g_volume_get_uuid())
*
- * Returns: a #GVolume or %NULL if no such volume is available.
+ * Returns: (transfer full): a #GVolume or %NULL if no such volume is available.
+ * Free the returned object with g_object_unref().
**/
GVolume *
-g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor,
- const char *uuid)
+g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor,
+ const char *uuid)
{
GVolumeMonitorClass *class;
@@ -330,13 +369,14 @@ g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor,
* @volume_monitor: a #GVolumeMonitor.
* @uuid: the UUID to look for
*
- * Finds a #GMount object by it's UUID (see g_mount_get_uuid())
+ * Finds a #GMount object by its UUID (see g_mount_get_uuid())
*
- * Returns: a #GMount or %NULL if no such mount is available.
+ * Returns: (transfer full): a #GMount or %NULL if no such mount is available.
+ * Free the returned object with g_object_unref().
**/
GMount *
-g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor,
- const char *uuid)
+g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor,
+ const char *uuid)
{
GVolumeMonitorClass *class;
@@ -347,7 +387,3 @@ g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor,
return class->get_mount_for_uuid (volume_monitor, uuid);
}
-
-
-#define __G_VOLUME_MONITOR_C__
-#include "gioaliasdef.c"