diff options
author | Yang Gu <yang.gu@intel.com> | 2010-09-06 10:19:55 +0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-09-09 08:57:36 -0500 |
commit | 41d38d76bcb5344e6097eb491be488454cb549dc (patch) | |
tree | d41d293a91a83a224ffc6c7c9db06ea893ad418d | |
parent | 0a6637bda69c9a9ae04bc2ed7889ea750e3f2caf (diff) | |
download | ofono-41d38d76bcb5344e6097eb491be488454cb549dc.tar.bz2 |
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.
-rw-r--r-- | src/ofono.h | 1 | ||||
-rw-r--r-- | src/ussd.c | 11 |
2 files changed, 12 insertions, 0 deletions
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 <ofono/netreg.h> @@ -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) { |