Refactor: Simplify the internal GPRS API

We no longer expose lac/ci/tech attributes obtained from CGREG
(some modems, like ISI, do not even report them for GPRS separately).
Simplify the internal gprs driver api to only report the registration
status (e.g. home, roaming, searching, not registered, etc)
This commit is contained in:
Denis Kenzior 2010-03-26 12:49:49 -05:00
parent 88994bbe81
commit 7972f844c7
2 changed files with 9 additions and 14 deletions

View File

@ -32,8 +32,7 @@ struct ofono_gprs;
struct ofono_gprs_context;
typedef void (*ofono_gprs_status_cb_t)(const struct ofono_error *error,
int status, int lac, int ci,
int tech, void *data);
int status, void *data);
typedef void (*ofono_gprs_cb_t)(const struct ofono_error *error, void *data);
@ -44,13 +43,11 @@ struct ofono_gprs_driver {
void (*remove)(struct ofono_gprs *gprs);
void (*set_attached)(struct ofono_gprs *gprs, int attached,
ofono_gprs_cb_t cb, void *data);
void (*registration_status)(struct ofono_gprs *gprs,
void (*attached_status)(struct ofono_gprs *gprs,
ofono_gprs_status_cb_t cb, void *data);
};
void ofono_gprs_status_notify(struct ofono_gprs *gprs,
int status, int lac, int ci, int tech);
void ofono_gprs_status_notify(struct ofono_gprs *gprs, int status);
void ofono_gprs_detached_notify(struct ofono_gprs *gprs);
int ofono_gprs_driver_register(const struct ofono_gprs_driver *d);

View File

@ -892,13 +892,12 @@ static void gprs_attached_update(struct ofono_gprs *gprs)
}
static void registration_status_cb(const struct ofono_error *error,
int status, int lac, int ci, int tech,
void *data)
int status, void *data)
{
struct ofono_gprs *gprs = data;
if (error->type == OFONO_ERROR_TYPE_NO_ERROR)
ofono_gprs_status_notify(gprs, status, lac, ci, tech);
ofono_gprs_status_notify(gprs, status);
gprs->flags &= ~GPRS_FLAG_ATTACHING;
@ -917,9 +916,9 @@ static void gprs_attach_callback(const struct ofono_error *error, void *data)
else
gprs->driver_attached = !gprs->driver_attached;
if (gprs->driver->registration_status) {
gprs->driver->registration_status(gprs, registration_status_cb,
gprs);
if (gprs->driver->attached_status) {
gprs->driver->attached_status(gprs, registration_status_cb,
gprs);
return;
}
@ -1320,8 +1319,7 @@ void ofono_gprs_detached_notify(struct ofono_gprs *gprs)
*/
}
void ofono_gprs_status_notify(struct ofono_gprs *gprs,
int status, int lac, int ci, int tech)
void ofono_gprs_status_notify(struct ofono_gprs *gprs, int status)
{
/* If we are not attached and haven't tried to attach, ignore */
if (gprs->driver_attached == FALSE)