diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-09-09 13:49:21 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-09-09 13:49:21 -0500 |
commit | 0f994b7ea3987df62e77d9cd32f3d421343f3e6a (patch) | |
tree | 5feaa512a0f3a69c57db2714d456558b83d40b37 /src | |
parent | ffcb821ccfed2433e078729c35d0075ced4b539e (diff) | |
download | ofono-0f994b7ea3987df62e77d9cd32f3d421343f3e6a.tar.gz |
manager: Add ModemRemoved signal
Diffstat (limited to 'src')
-rw-r--r-- | src/manager.c | 1 | ||||
-rw-r--r-- | src/modem.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/manager.c b/src/manager.c index 285844ab..043b3e31 100644 --- a/src/manager.c +++ b/src/manager.c @@ -35,6 +35,7 @@ static GDBusMethodTable manager_methods[] = { static GDBusSignalTable manager_signals[] = { { "ModemAdded", "oa{sv}" }, + { "ModemRemoved", "o" }, { } }; diff --git a/src/modem.c b/src/modem.c index 2c101786..412dfb96 100644 --- a/src/modem.c +++ b/src/modem.c @@ -1417,6 +1417,16 @@ int ofono_modem_register(struct ofono_modem *modem) return 0; } +static void emit_modem_removed(struct ofono_modem *modem) +{ + DBusConnection *conn = ofono_dbus_get_connection(); + const char *path = modem->path; + + g_dbus_emit_signal(conn, OFONO_MANAGER_PATH, OFONO_MANAGER_INTERFACE, + "ModemRemoved", DBUS_TYPE_OBJECT_PATH, &path, + DBUS_TYPE_INVALID); +} + static void modem_unregister(struct ofono_modem *modem) { DBusConnection *conn = ofono_dbus_get_connection(); @@ -1462,6 +1472,8 @@ static void modem_unregister(struct ofono_modem *modem) modem->properties = NULL; modem->driver = NULL; + + emit_modem_removed(modem); } void ofono_modem_remove(struct ofono_modem *modem) |