From 97359e7f7be5e2e56d15c67d7d3d3a2bd8f6b744 Mon Sep 17 00:00:00 2001 From: Philippe Nunes Date: Thu, 24 Nov 2011 18:46:23 +0100 Subject: [PATCH] cdma-netreg: Add skeleton sid query implementation --- src/cdma-netreg.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/cdma-netreg.c b/src/cdma-netreg.c index 739d1ef6..222c3b7c 100644 --- a/src/cdma-netreg.c +++ b/src/cdma-netreg.c @@ -104,6 +104,24 @@ static GDBusSignalTable cdma_netreg_manager_signals[] = { { } }; +static void serving_system_callback(const struct ofono_error *error, + const char *sid, void *data) +{ + struct ofono_cdma_netreg *cdma_netreg = data; + + if (cdma_netreg->status != CDMA_NETWORK_REGISTRATION_STATUS_REGISTERED + && cdma_netreg->status != + CDMA_NETWORK_REGISTRATION_STATUS_ROAMING) + return; + + if (error->type != OFONO_ERROR_TYPE_NO_ERROR) { + DBG("Error during serving system query"); + return; + } + + DBG("Serving system Identifier: %s", sid); +} + static void set_registration_status(struct ofono_cdma_netreg *cdma_netreg, enum cdma_netreg_status status) { @@ -117,6 +135,13 @@ static void set_registration_status(struct ofono_cdma_netreg *cdma_netreg, OFONO_CDMA_NETWORK_REGISTRATION_INTERFACE, "Status", DBUS_TYPE_STRING, &str_status); + + if (cdma_netreg->status == CDMA_NETWORK_REGISTRATION_STATUS_REGISTERED + || cdma_netreg->status == + CDMA_NETWORK_REGISTRATION_STATUS_ROAMING) + if (cdma_netreg->driver->serving_system != NULL) + cdma_netreg->driver->serving_system(cdma_netreg, + serving_system_callback, cdma_netreg); } void ofono_cdma_netreg_status_notify(struct ofono_cdma_netreg *cdma_netreg,