From 41d38d76bcb5344e6097eb491be488454cb549dc Mon Sep 17 00:00:00 2001 From: Yang Gu Date: Mon, 6 Sep 2010 10:19:55 +0800 Subject: [PATCH] ussd: Add __ofono_ussd_is_busy Send SS requires Call Forwarding / Call Settings / Call Barring to check whether USSD is currently busy. If it is, then the SIM should be notified appropriately. We introduce a function __ofono_ussd_is_busy to help with this. --- src/ofono.h | 1 + src/ussd.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/ofono.h b/src/ofono.h index d95f2f21..9b2e53fe 100644 --- a/src/ofono.h +++ b/src/ofono.h @@ -254,6 +254,7 @@ gboolean __ofono_ussd_passwd_register(struct ofono_ussd *ussd, const char *sc, ofono_ussd_passwd_cb_t cb, void *data, ofono_destroy_func destroy); void __ofono_ussd_passwd_unregister(struct ofono_ussd *ussd, const char *sc); +gboolean __ofono_ussd_is_busy(struct ofono_ussd *ussd); #include diff --git a/src/ussd.c b/src/ussd.c index 825d5606..fbb07d20 100644 --- a/src/ussd.c +++ b/src/ussd.c @@ -65,6 +65,17 @@ struct ssc_entry { ofono_destroy_func destroy; }; +gboolean __ofono_ussd_is_busy(struct ofono_ussd *ussd) +{ + if (!ussd) + return FALSE; + + if (ussd->pending || ussd->state != USSD_STATE_IDLE) + return TRUE; + + return FALSE; +} + static struct ssc_entry *ssc_entry_create(const char *sc, void *cb, void *data, ofono_destroy_func destroy) {