---
 src/voicecall.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/voicecall.c b/src/voicecall.c
index b0f15fd..19ef479 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -49,6 +49,7 @@ struct ofono_voicecall {
        GHashTable *en_list; /* emergency number list */
        GSList *sim_en_list; /* Emergency numbers being read from SIM */
        ofono_bool_t sim_en_list_ready;
+       char **nw_en_list; /* Emergency numbers from modem/network */
        DBusMessage *pending;
        struct ofono_sim *sim;
        struct ofono_sim_context *sim_context;
@@ -2093,6 +2094,10 @@ static void set_new_ecc(struct ofono_voicecall *vc)
        vc->en_list = g_hash_table_new_full(g_str_hash, g_str_equal,
                                                        g_free, NULL);
 
+       /* Emergency numbers from modem/network */
+       if (vc->nw_en_list)
+               add_to_en_list(vc, vc->nw_en_list);
+
        /* Emergency numbers read from SIM */
        if (vc->sim_en_list_ready == TRUE && vc->sim_en_list) {
                for (l = vc->sim_en_list; l; l = l->next)
@@ -2175,6 +2180,15 @@ check:
        set_new_ecc(vc);
 }
 
+void ofono_voicecall_en_list_notify(struct ofono_voicecall *vc,
+                                               char **nw_en_list)
+{
+       g_strfreev(vc->nw_en_list);
+
+       vc->nw_en_list = g_strdupv(nw_en_list);
+       set_new_ecc(vc);
+}
+
 int ofono_voicecall_driver_register(const struct ofono_voicecall_driver *d)
 {
        DBG("driver: %p, name: %s", d, d->name);
@@ -2220,6 +2234,11 @@ static void voicecall_unregister(struct ofono_atom *atom)
                vc->sim_en_list = NULL;
        }
 
+       if (vc->nw_en_list) {
+               g_strfreev(vc->nw_en_list);
+               vc->nw_en_list = NULL;
+       }
+
        g_hash_table_destroy(vc->en_list);
        vc->en_list = NULL;
 
-- 
1.7.0.4

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to