From 27cfc00eba7cc9a72a33d9d9674e1c31aef84acb Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 10 Sep 2009 18:19:48 -0500 Subject: [PATCH] Add netreg getter functions - Get Location, CellID - Current Operator - Registration Status - Technology --- include/netreg.h | 7 +++++++ src/network.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/include/netreg.h b/include/netreg.h index edb11877..a19409e3 100644 --- a/include/netreg.h +++ b/include/netreg.h @@ -108,6 +108,13 @@ void ofono_netreg_remove(struct ofono_netreg *netreg); void ofono_netreg_set_data(struct ofono_netreg *netreg, void *data); void *ofono_netreg_get_data(struct ofono_netreg *netreg); +int ofono_netreg_get_location(struct ofono_netreg *netreg); +int ofono_netreg_get_cellid(struct ofono_netreg *netreg); +int ofono_netreg_get_status(struct ofono_netreg *netreg); +int ofono_netreg_get_technology(struct ofono_netreg *netreg); +const struct ofono_network_operator * + ofono_netreg_get_operator(struct ofono_netreg *netreg); + #ifdef __cplusplus } #endif diff --git a/src/network.c b/src/network.c index 7139e60d..23d4dc39 100644 --- a/src/network.c +++ b/src/network.c @@ -1319,6 +1319,50 @@ static void sim_spn_read_cb(int ok, } } +int ofono_netreg_get_location(struct ofono_netreg *netreg) +{ + if (netreg == NULL) + return -1; + + return netreg->location; +} + +int ofono_netreg_get_cellid(struct ofono_netreg *netreg) +{ + if (netreg == NULL) + return -1; + + return netreg->cellid; +} + +int ofono_netreg_get_status(struct ofono_netreg *netreg) +{ + if (netreg == NULL) + return -1; + + return netreg->status; +} + +int ofono_netreg_get_technology(struct ofono_netreg *netreg) +{ + if (netreg == NULL) + return -1; + + return netreg->technology; +} + +const struct ofono_network_operator * + ofono_netreg_get_operator(struct ofono_netreg *netreg) +{ + if (netreg == NULL) + return NULL; + + if (netreg->current_operator == NULL) + return NULL; + + return netreg->current_operator->info; +} + int ofono_netreg_driver_register(const struct ofono_netreg_driver *d) { DBG("driver: %p, name: %s", d, d->name);