From f4f2068c62d48eb789749675bc80b50ba4594446 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Fri, 10 Sep 2010 00:57:21 +0200 Subject: [PATCH] Implement the ModemAdded and ModemRemoved signal handlers --- plugins/ofono.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/plugins/ofono.c b/plugins/ofono.c index 1f88367..d6f84e8 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -1297,12 +1297,39 @@ static gboolean gprs_changed(DBusConnection *connection, DBusMessage *message, static gboolean modem_added(DBusConnection *connection, DBusMessage *message, void *user_data) { + DBusMessageIter iter, properties; + const char *modem_path; + + DBG(""); + + if (dbus_message_iter_init(message, &iter) == FALSE) + return TRUE; + + dbus_message_iter_get_basic(&iter, &modem_path); + + dbus_message_iter_next(&iter); + dbus_message_iter_recurse(&iter, &properties); + + add_modem(modem_path, &properties); + return TRUE; } static gboolean modem_removed(DBusConnection *connection, DBusMessage *message, void *user_data) { + DBusMessageIter iter; + const char *modem_path; + + DBG(""); + + if (dbus_message_iter_init(message, &iter) == FALSE) + return TRUE; + + dbus_message_iter_get_basic(&iter, &modem_path); + + g_hash_table_remove(modem_hash, modem_path); + return TRUE; } -- 2.7.4