summaryrefslogtreecommitdiffstats
path: root/src/gprs.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-05-10 21:45:28 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-05-11 12:11:23 -0500
commitde0b882acffe82953d867b537fe042a1016bc4ff (patch)
tree23050422323bd4e929960c10ea12084ed420e18f /src/gprs.c
parent5646ecaf35c6918540cf49dd86e3505bd5269fd7 (diff)
downloadofono-de0b882acffe82953d867b537fe042a1016bc4ff.tar.bz2
gprs: emit Active changed for contexts being removed
Diffstat (limited to 'src/gprs.c')
-rw-r--r--src/gprs.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gprs.c b/src/gprs.c
index 9a2ec00a..412e0b87 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -1829,9 +1829,10 @@ static void gprs_deactivate_for_remove(const struct ofono_error *error,
{
struct pri_context *ctx = data;
struct ofono_gprs *gprs = ctx->gprs;
- DBusConnection *conn;
+ DBusConnection *conn = ofono_dbus_get_connection();
char *path;
const char *atompath;
+ dbus_bool_t value;
if (error->type != OFONO_ERROR_TYPE_NO_ERROR) {
DBG("Removing context failed with error: %s",
@@ -1845,6 +1846,11 @@ static void gprs_deactivate_for_remove(const struct ofono_error *error,
pri_reset_context_settings(ctx);
release_context(ctx);
+ value = FALSE;
+ ofono_dbus_signal_property_changed(conn, ctx->path,
+ OFONO_CONNECTION_CONTEXT_INTERFACE,
+ "Active", DBUS_TYPE_BOOLEAN, &value);
+
if (gprs->settings) {
g_key_file_remove_group(gprs->settings, ctx->key, NULL);
storage_sync(gprs->imsi, SETTINGS_STORE, gprs->settings);
@@ -1860,7 +1866,6 @@ static void gprs_deactivate_for_remove(const struct ofono_error *error,
dbus_message_new_method_return(gprs->pending));
atompath = __ofono_atom_get_path(gprs->atom);
- conn = ofono_dbus_get_connection();
g_dbus_emit_signal(conn, atompath, OFONO_CONNECTION_MANAGER_INTERFACE,
"ContextRemoved", DBUS_TYPE_OBJECT_PATH, &path,
DBUS_TYPE_INVALID);