gboolean check_if_ok_to_attach() { int status = NETWORK_REGISTRATION_STATUS_SEARCHING; status = ofono_netreg_get_status(current_netreg); if (status == NETWORK_REGISTRATION_STATUS_SEARCHING || status == NETWORK_REGISTRATION_STATUS_ROAMING || status == NETWORK_REGISTRATION_STATUS_REGISTERED) return TRUE; return FALSE; }
static void netreg_watch(struct ofono_atom *atom, enum ofono_atom_watch_condition cond, void *data) { struct ofono_sms *sms = data; int status; if (cond == OFONO_ATOM_WATCH_CONDITION_UNREGISTERED) { sms->registered = FALSE; sms->status_watch = 0; sms->netreg = NULL; return; } sms->netreg = __ofono_atom_get_data(atom); sms->status_watch = __ofono_netreg_add_status_watch(sms->netreg, netreg_status_watch, sms, NULL); status = ofono_netreg_get_status(sms->netreg); netreg_status_watch(status, 0, 0, 0, NULL, NULL, sms); }
static void netreg_watch(struct ofono_atom *atom, enum ofono_atom_watch_condition cond, void *data) { struct ofono_modem *modem = data; struct mtk_data *md = ofono_modem_get_data(modem); void *netreg; DBG("%d", cond); if (cond == OFONO_ATOM_WATCH_CONDITION_UNREGISTERED) { cancel_fw_load_timer(md); md->status_watch = 0; return; } netreg = __ofono_atom_get_data(atom); md->netreg_status = ofono_netreg_get_status(netreg); md->status_watch = __ofono_netreg_add_status_watch(netreg, netreg_status_changed, modem, NULL); netreg_status_update(modem); }