{
struct ofono_gprs *gprs = data;
- if (cond != OFONO_ATOM_WATCH_CONDITION_REGISTERED) {
+ if (cond == OFONO_ATOM_WATCH_CONDITION_UNREGISTERED) {
gprs->status_watch = 0;
gprs->netreg = NULL;
return;
gprs->netreg_status = ofono_netreg_get_status(gprs->netreg);
gprs->status_watch = __ofono_netreg_add_status_watch(gprs->netreg,
netreg_status_changed, gprs, NULL);
+
+ gprs_netreg_update(gprs);
}
void ofono_gprs_register(struct ofono_gprs *gprs)
ofono_modem_add_interface(modem, DATA_CONNECTION_MANAGER_INTERFACE);
+ /* TODO: Read Powered from SIM store */
+ gprs->powered = TRUE;
+
gprs->netreg_watch = __ofono_modem_add_atom_watch(modem,
OFONO_ATOM_TYPE_NETREG,
netreg_watch, gprs, NULL);
netreg_watch(netreg_atom,
OFONO_ATOM_WATCH_CONDITION_REGISTERED, gprs);
-
__ofono_atom_register(gprs->atom, gprs_unregister);
}