static void ril_cbs_remove(struct ofono_cbs *cbs) { struct cbs_data *cd = ofono_cbs_get_data(cbs); ofono_cbs_set_data(cbs, NULL); g_ril_unref(cd->ril); g_free(cd); }
static gboolean ril_delayed_register(gpointer user_data) { struct ofono_cbs *cbs = user_data; struct cbs_data *cd = ofono_cbs_get_data(cbs); ofono_cbs_register(cbs); g_ril_register(cd->ril, RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS, ril_cbs_notify, cbs); return FALSE; }
static void ril_cbs_remove(struct ofono_cbs *cbs) { struct ril_cbs *cd = ofono_cbs_get_data(cbs); DBG(""); ofono_cbs_set_data(cbs, NULL); if (cd->timer_id > 0) { g_source_remove(cd->timer_id); } grilio_channel_remove_handler(cd->io, cd->event_id); grilio_channel_unref(cd->io); g_free(cd); }