diff options
| author | David Zeuthen <davidz@redhat.com> | 2009-02-27 12:14:57 -0500 |
|---|---|---|
| committer | David Zeuthen <davidz@redhat.com> | 2009-02-27 12:14:57 -0500 |
| commit | 575c9663dc040a131b6978fa32e4bce13c7c1124 (patch) | |
| tree | 77ab03df72f650dfe68672d615e57ac9c57ba095 /src/gdu | |
| parent | 3f4783342d58d9bfdde785c8f712591673e4a547 (diff) | |
| download | gnome-disk-utility-575c9663dc040a131b6978fa32e4bce13c7c1124.tar.gz gnome-disk-utility-575c9663dc040a131b6978fa32e4bce13c7c1124.tar.xz gnome-disk-utility-575c9663dc040a131b6978fa32e4bce13c7c1124.zip | |
make sure we emit signals on add/change signals on GduPresentable
Diffstat (limited to 'src/gdu')
| -rw-r--r-- | src/gdu/gdu-device.c | 9 | ||||
| -rw-r--r-- | src/gdu/gdu-drive.c | 12 | ||||
| -rw-r--r-- | src/gdu/gdu-linux-md-drive.c | 2 | ||||
| -rw-r--r-- | src/gdu/gdu-pool.c | 14 | ||||
| -rw-r--r-- | src/gdu/gdu-private.h | 2 | ||||
| -rw-r--r-- | src/gdu/gdu-volume.c | 12 |
6 files changed, 14 insertions, 37 deletions
diff --git a/src/gdu/gdu-device.c b/src/gdu/gdu-device.c index 85a5748..e695109 100644 --- a/src/gdu/gdu-device.c +++ b/src/gdu/gdu-device.c @@ -538,6 +538,8 @@ gdu_device_get_pool (GduDevice *device) static void gdu_device_finalize (GduDevice *device) { + //g_debug ("##### finalized device %s", device->priv->props->device_file); + dbus_g_connection_unref (device->priv->bus); g_free (device->priv->object_path); if (device->priv->proxy != NULL) @@ -688,13 +690,6 @@ _gdu_device_job_changed (GduDevice *device, g_signal_emit (device, signals[JOB_CHANGED], 0); } -void -_gdu_device_removed (GduDevice *device) -{ - g_print ("%s: %s\n", __FUNCTION__, device->priv->props->device_file); - g_signal_emit (device, signals[REMOVED], 0); -} - const char * gdu_device_get_object_path (GduDevice *device) { diff --git a/src/gdu/gdu-drive.c b/src/gdu/gdu-drive.c index d6957d2..aad7e7b 100644 --- a/src/gdu/gdu-drive.c +++ b/src/gdu/gdu-drive.c @@ -60,19 +60,17 @@ G_DEFINE_TYPE_WITH_CODE (GduDrive, gdu_drive, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (GDU_TYPE_PRESENTABLE, gdu_drive_presentable_iface_init)) -static void device_removed (GduDevice *device, gpointer user_data); static void device_job_changed (GduDevice *device, gpointer user_data); static void device_changed (GduDevice *device, gpointer user_data); static void gdu_drive_finalize (GduDrive *drive) { - //g_debug ("finalized drive '%s' %p", drive->priv->id, drive); + //g_debug ("##### finalized drive '%s' %p", drive->priv->id, drive); if (drive->priv->device != NULL) { g_signal_handlers_disconnect_by_func (drive->priv->device, device_changed, drive); g_signal_handlers_disconnect_by_func (drive->priv->device, device_job_changed, drive); - g_signal_handlers_disconnect_by_func (drive->priv->device, device_removed, drive); g_object_unref (drive->priv->device); } @@ -205,13 +203,6 @@ device_job_changed (GduDevice *device, gpointer user_data) g_signal_emit_by_name (drive->priv->pool, "presentable-job-changed", drive); } -static void -device_removed (GduDevice *device, gpointer user_data) -{ - GduDrive *drive = GDU_DRIVE (user_data); - g_signal_emit_by_name (drive, "removed"); -} - GduDrive * _gdu_drive_new_from_device (GduPool *pool, GduDevice *device) { @@ -224,7 +215,6 @@ _gdu_drive_new_from_device (GduPool *pool, GduDevice *device) g_signal_connect (device, "changed", (GCallback) device_changed, drive); g_signal_connect (device, "job-changed", (GCallback) device_job_changed, drive); - g_signal_connect (device, "removed", (GCallback) device_removed, drive); return drive; } diff --git a/src/gdu/gdu-linux-md-drive.c b/src/gdu/gdu-linux-md-drive.c index 71313f6..13f5c34 100644 --- a/src/gdu/gdu-linux-md-drive.c +++ b/src/gdu/gdu-linux-md-drive.c @@ -96,7 +96,7 @@ gdu_linux_md_drive_finalize (GObject *object) { GduLinuxMdDrive *drive = GDU_LINUX_MD_DRIVE (object); - //g_debug ("finalized linux-md drive '%s' %p", drive->priv->id, drive); + //g_debug ("##### finalized linux-md drive '%s' %p", drive->priv->id, drive); if (drive->priv->pool != NULL) { g_signal_handlers_disconnect_by_func (drive->priv->pool, device_added, drive); diff --git a/src/gdu/gdu-pool.c b/src/gdu/gdu-pool.c index e16b4c4..e7b618f 100644 --- a/src/gdu/gdu-pool.c +++ b/src/gdu/gdu-pool.c @@ -759,6 +759,7 @@ recompute_presentables (GduPool *pool) pool->priv->presentables = g_list_remove (pool->priv->presentables, p); g_signal_emit (pool, signals[PRESENTABLE_REMOVED], 0, p); + g_signal_emit_by_name (p, "removed"); g_object_unref (p); } @@ -808,7 +809,7 @@ device_added_signal_handler (DBusGProxy *proxy, const char *object_path, gpointe device = gdu_pool_get_by_object_path (pool, object_path); if (device != NULL) { g_object_unref (device); - g_debug ("Treating add for previously added device %s as change", object_path); + g_warning ("Treating add for previously added device %s as change", object_path); device_changed_signal_handler (proxy, object_path, user_data); goto out; } @@ -839,13 +840,15 @@ device_removed_signal_handler (DBusGProxy *proxy, const char *object_path, gpoin device = gdu_pool_get_by_object_path (pool, object_path); if (device == NULL) { - g_debug ("No device to remove for remove %s", object_path); + g_warning ("No device to remove for remove %s", object_path); goto out; } g_hash_table_remove (pool->priv->object_path_to_device, gdu_device_get_object_path (device)); g_signal_emit (pool, signals[DEVICE_REMOVED], 0, device); + g_signal_emit_by_name (device, "removed"); + g_object_unref (device); //g_debug ("Removed device %s", object_path); recompute_presentables (pool); @@ -864,13 +867,14 @@ device_changed_signal_handler (DBusGProxy *proxy, const char *object_path, gpoin device = gdu_pool_get_by_object_path (pool, object_path); if (device == NULL) { - g_debug ("Treating change event as add on non-existant device %s", object_path); - device_added_signal_handler (proxy, object_path, user_data); + g_warning ("Ignoring change event on non-existant device %s", object_path); goto out; } - if (_gdu_device_changed (device)) + if (_gdu_device_changed (device)) { g_signal_emit (pool, signals[DEVICE_CHANGED], 0, device); + g_signal_emit_by_name (device, "changed"); + } g_object_unref (device); recompute_presentables (pool); diff --git a/src/gdu/gdu-private.h b/src/gdu/gdu-private.h index c49b5cc..96e7510 100644 --- a/src/gdu/gdu-private.h +++ b/src/gdu/gdu-private.h @@ -111,8 +111,6 @@ void _gdu_device_job_changed (GduDevice *device, const char *job_cur_task_id, double job_cur_task_percentage); -void _gdu_device_removed (GduDevice *device); - void _gdu_volume_rewrite_enclosing_presentable (GduVolume *volume); void _gdu_volume_hole_rewrite_enclosing_presentable (GduVolumeHole *volume_hole); diff --git a/src/gdu/gdu-volume.c b/src/gdu/gdu-volume.c index 93d9366..21b1b72 100644 --- a/src/gdu/gdu-volume.c +++ b/src/gdu/gdu-volume.c @@ -60,7 +60,6 @@ G_DEFINE_TYPE_WITH_CODE (GduVolume, gdu_volume, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (GDU_TYPE_PRESENTABLE, gdu_volume_presentable_iface_init)) -static void device_removed (GduDevice *device, gpointer user_data); static void device_job_changed (GduDevice *device, gpointer user_data); static void device_changed (GduDevice *device, gpointer user_data); @@ -97,12 +96,11 @@ static const struct static void gdu_volume_finalize (GduVolume *volume) { - //g_debug ("finalized volume '%s' %p", volume->priv->id, volume); + //g_debug ("##### finalized volume '%s' %p", volume->priv->id, volume); if (volume->priv->device != NULL) { g_signal_handlers_disconnect_by_func (volume->priv->device, device_changed, volume); g_signal_handlers_disconnect_by_func (volume->priv->device, device_job_changed, volume); - g_signal_handlers_disconnect_by_func (volume->priv->device, device_removed, volume); g_object_unref (volume->priv->device); } @@ -152,13 +150,6 @@ device_job_changed (GduDevice *device, gpointer user_data) g_signal_emit_by_name (volume->priv->pool, "presentable-job-changed", volume); } -static void -device_removed (GduDevice *device, gpointer user_data) -{ - GduVolume *volume = GDU_VOLUME (user_data); - g_signal_emit_by_name (volume, "removed"); -} - GduVolume * _gdu_volume_new_from_device (GduPool *pool, GduDevice *device, GduPresentable *enclosing_presentable) { @@ -175,7 +166,6 @@ _gdu_volume_new_from_device (GduPool *pool, GduDevice *device, GduPresentable *e g_signal_connect (device, "changed", (GCallback) device_changed, volume); g_signal_connect (device, "job-changed", (GCallback) device_job_changed, volume); - g_signal_connect (device, "removed", (GCallback) device_removed, volume); return volume; } |
