diff options
author | Tambet Ingo <tambet@gmail.com> | 2008-09-11 16:37:01 +0300 |
---|---|---|
committer | Tambet Ingo <tambet@gmail.com> | 2008-09-11 16:37:01 +0300 |
commit | 675964a6b278d5fcbef19b3518e519dfd2e544de (patch) | |
tree | fee8345169742a47180e60c64e80b5c8762434aa /src | |
parent | e0b3d478b42654a338d9d9b7f271ef1a96d73af9 (diff) |
Fix device added and removed signals.
The device argument was a MMModem object, which conflicted with the spec.
Changed it to the modem's udi.
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-manager.c | 22 | ||||
-rw-r--r-- | src/mm-manager.h | 4 |
2 files changed, 12 insertions, 14 deletions
diff --git a/src/mm-manager.c b/src/mm-manager.c index f07872ee..0a343e9c 100644 --- a/src/mm-manager.c +++ b/src/mm-manager.c @@ -203,7 +203,7 @@ add_modem (MMManager *manager, const char *udi, MMModem *modem) g_hash_table_insert (priv->modems, g_strdup (udi), modem); dbus_g_connection_register_g_object (priv->connection, udi, G_OBJECT (modem)); - g_signal_emit (manager, signals[DEVICE_ADDED], 0, modem); + g_signal_emit (manager, signals[DEVICE_ADDED], 0, udi); } static MMModem * @@ -349,7 +349,7 @@ device_removed (LibHalContext *ctx, const char *udi) modem = modem_exists (manager, udi); if (modem) { g_debug ("Removed modem %s", udi); - g_signal_emit (manager, signals[DEVICE_REMOVED], 0, modem); + g_signal_emit (manager, signals[DEVICE_REMOVED], 0, udi); g_hash_table_remove (MM_MANAGER_GET_PRIVATE (manager)->modems, udi); } } @@ -437,9 +437,9 @@ mm_manager_class_init (MMManagerClass *manager_class) G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (MMManagerClass, device_added), NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, + g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, - G_TYPE_OBJECT); + G_TYPE_STRING); signals[DEVICE_REMOVED] = g_signal_new ("device-removed", @@ -447,18 +447,16 @@ mm_manager_class_init (MMManagerClass *manager_class) G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (MMManagerClass, device_removed), NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, + g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, - G_TYPE_OBJECT); + G_TYPE_STRING); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (manager_class), &dbus_glib_mm_manager_object_info); /* FIXME: Sigh, these don't work either */ - dbus_g_error_domain_register (MM_SERIAL_ERROR, NULL, MM_TYPE_SERIAL_ERROR); -#if 0 - dbus_g_error_domain_register (MM_MODEM_ERROR, NULL, MM_TYPE_MODEM_ERROR); - dbus_g_error_domain_register (MM_MODEM_CONNECT_ERROR, NULL, MM_TYPE_MODEM_CONNECT_ERROR); - dbus_g_error_domain_register (MM_MOBILE_ERROR, NULL, MM_TYPE_MOBILE_ERROR); -#endif + dbus_g_error_domain_register (MM_SERIAL_ERROR, "org.freedesktop.ModemManager.Modem", MM_TYPE_SERIAL_ERROR); + dbus_g_error_domain_register (MM_MODEM_ERROR, "org.freedesktop.ModemManager.Modem", MM_TYPE_MODEM_ERROR); + dbus_g_error_domain_register (MM_MODEM_CONNECT_ERROR, "org.freedesktop.ModemManager.Modem", MM_TYPE_MODEM_CONNECT_ERROR); + dbus_g_error_domain_register (MM_MOBILE_ERROR, "org.freedesktop.ModemManager.Modem.Gsm", MM_TYPE_MOBILE_ERROR); } diff --git a/src/mm-manager.h b/src/mm-manager.h index ecb7f408..286006c2 100644 --- a/src/mm-manager.h +++ b/src/mm-manager.h @@ -25,8 +25,8 @@ typedef struct { GObjectClass parent; /* Signals */ - void (*device_added) (MMManager *manager, MMModem *device); - void (*device_removed) (MMManager *manager, MMModem *device); + void (*device_added) (MMManager *manager, const char *device_udi); + void (*device_removed) (MMManager *manager, const char *device_udi); } MMManagerClass; GType mm_manager_get_type (void); |