--- src/cdma-voicecall.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/cdma-voicecall.c b/src/cdma-voicecall.c index a590063..183433d 100644 --- a/src/cdma-voicecall.c +++ b/src/cdma-voicecall.c @@ -335,6 +335,18 @@ void ofono_cdma_voicecall_driver_unregister( g_drivers = g_slist_remove(g_drivers, (void *)d); } +static void cdma_voicecall_unregister(struct ofono_atom *atom) +{ + DBusConnection *conn = ofono_dbus_get_connection(); + struct ofono_modem *modem = __ofono_atom_get_modem(atom); + const char *path = __ofono_atom_get_path(atom); + + g_dbus_unregister_interface(conn, path, + OFONO_CDMA_VOICECALL_MANAGER_INTERFACE); + ofono_modem_remove_interface(modem, + OFONO_CDMA_VOICECALL_MANAGER_INTERFACE); +} + static void voicecall_manager_remove(struct ofono_atom *atom) { struct ofono_cdma_voicecall *vc = __ofono_atom_get_data(atom); @@ -405,6 +417,8 @@ void ofono_cdma_voicecall_register(struct ofono_cdma_voicecall *vc) ofono_modem_add_interface(modem, OFONO_CDMA_VOICECALL_MANAGER_INTERFACE); + + __ofono_atom_register(vc->atom, cdma_voicecall_unregister); } void ofono_cdma_voicecall_remove(struct ofono_cdma_voicecall *vc) -- 1.7.4.1 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono