summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-10-22 11:56:35 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-10-22 11:56:35 -0500
commit39a3080a4b4d9c5f62db694c8fc6215438df6e89 (patch)
tree557c87a9c766d83bd8a2289329bb715a884642f6
parent71255c49fb2802f925b60f7a03b7b6ac2a9a2d2d (diff)
downloadofono-39a3080a4b4d9c5f62db694c8fc6215438df6e89.tar.bz2
sim: Break out common FDN property signaling
-rw-r--r--src/sim.c37
1 files changed, 17 insertions, 20 deletions
diff --git a/src/sim.c b/src/sim.c
index 1d294dc3..bc3f07fa 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -1245,6 +1245,21 @@ static void sim_retrieve_imsi(struct ofono_sim *sim)
sim->driver->read_imsi(sim, sim_imsi_cb, sim);
}
+static void sim_fdn_enabled(struct ofono_sim *sim)
+{
+ DBusConnection *conn = ofono_dbus_get_connection();
+ const char *path = __ofono_atom_get_path(sim->atom);
+ dbus_bool_t val;
+
+ sim->fixed_dialing = TRUE;
+
+ val = sim->fixed_dialing;
+ ofono_dbus_signal_property_changed(conn, path,
+ OFONO_SIM_MANAGER_INTERFACE,
+ "FixedDialing",
+ DBUS_TYPE_BOOLEAN, &val);
+}
+
static void sim_efadn_info_read_cb(int ok, unsigned char file_status,
int total_length, int record_length,
void *userdata)
@@ -1255,16 +1270,7 @@ static void sim_efadn_info_read_cb(int ok, unsigned char file_status,
goto out;
if (file_status != SIM_FILE_STATUS_VALID) {
- DBusConnection *conn = ofono_dbus_get_connection();
- const char *path = __ofono_atom_get_path(sim->atom);
-
- sim->fixed_dialing = TRUE;
-
- ofono_dbus_signal_property_changed(conn, path,
- OFONO_SIM_MANAGER_INTERFACE,
- "FixedDialing",
- DBUS_TYPE_BOOLEAN,
- &sim->fixed_dialing);
+ sim_fdn_enabled(sim);
return;
}
@@ -1332,16 +1338,7 @@ static void sim_efest_read_cb(int ok, int length, int record,
*/
if (sim_est_is_active(sim->efest, sim->efest_length,
SIM_EST_SERVICE_FDN)) {
- DBusConnection *conn = ofono_dbus_get_connection();
- const char *path = __ofono_atom_get_path(sim->atom);
-
- sim->fixed_dialing = TRUE;
-
- ofono_dbus_signal_property_changed(conn, path,
- OFONO_SIM_MANAGER_INTERFACE,
- "FixedDialing",
- DBUS_TYPE_BOOLEAN,
- &sim->fixed_dialing);
+ sim_fdn_enabled(sim);
return;
}