#include "glibintl.h"
-#include "gioalias.h"
struct _GUnionVolumeMonitor {
GVolumeMonitor parent;
g_union_volume_monitor_dispose (GObject *object)
{
GUnionVolumeMonitor *monitor;
-
+ GVolumeMonitor *child_monitor;
+ GList *l;
+
monitor = G_UNION_VOLUME_MONITOR (object);
g_static_rec_mutex_lock (&the_volume_monitor_mutex);
the_volume_monitor = NULL;
+
+ for (l = monitor->monitors; l != NULL; l = l->next)
+ {
+ child_monitor = l->data;
+ g_object_run_dispose (G_OBJECT (child_monitor));
+ }
+
g_static_rec_mutex_unlock (&the_volume_monitor_mutex);
G_OBJECT_CLASS (g_union_volume_monitor_parent_class)->dispose (object);
}
static void
+child_drive_stop_button (GVolumeMonitor *child_monitor,
+ GDrive *child_drive,
+ GUnionVolumeMonitor *union_monitor)
+{
+ g_signal_emit_by_name (union_monitor,
+ "drive-stop-button",
+ child_drive);
+}
+
+static void
g_union_volume_monitor_add_monitor (GUnionVolumeMonitor *union_monitor,
GVolumeMonitor *volume_monitor)
{
g_signal_connect (volume_monitor, "drive-disconnected", (GCallback)child_drive_disconnected, union_monitor);
g_signal_connect (volume_monitor, "drive-changed", (GCallback)child_drive_changed, union_monitor);
g_signal_connect (volume_monitor, "drive-eject-button", (GCallback)child_drive_eject_button, union_monitor);
+ g_signal_connect (volume_monitor, "drive-stop-button", (GCallback)child_drive_stop_button, union_monitor);
}
static void
g_signal_handlers_disconnect_by_func (child_monitor, child_drive_disconnected, union_monitor);
g_signal_handlers_disconnect_by_func (child_monitor, child_drive_changed, union_monitor);
g_signal_handlers_disconnect_by_func (child_monitor, child_drive_eject_button, union_monitor);
+ g_signal_handlers_disconnect_by_func (child_monitor, child_drive_stop_button, union_monitor);
}
static GType
return vm;
}
-/**
- * _g_mount_get_for_mount_path:
- * @mountpoint: a string.
- * @cancellable: a #GCancellable, or %NULL
- *
- * Returns: a #GMount for given @mount_path or %NULL.
- **/
GMount *
-_g_mount_get_for_mount_path (const char *mount_path,
+_g_mount_get_for_mount_path (const gchar *mount_path,
GCancellable *cancellable)
{
GNativeVolumeMonitorClass *klass;
* is to return #GVolume objects representing entries in the users
* "favorite servers" list or similar.
*
- * Returns: the #GVolume object that is the parent for @mount or %NULL
+ * Returns: (transfer full): the #GVolume object that is the parent for @mount or %NULL
* if no wants to adopt the #GMount.
*
* Deprecated: 2.20: Instead of using this function, #GVolumeMonitor
return volume;
}
-
-
-#define __G_UNION_VOLUME_MONITOR_C__
-#include "gioaliasdef.c"