diff options
author | Zhenhua Zhang <zhenhua.zhang@intel.com> | 2009-11-07 15:21:25 +0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-11-11 16:24:54 -0600 |
commit | 372edf4f21d151063483c670f0dd20a2963a33fe (patch) | |
tree | 9b54e54b5ab96ad79c7f81ae0043ae9cf4cecc0e | |
parent | 95aafed445090f56ea07520dc3446d7d96e13e93 (diff) | |
download | ofono-372edf4f21d151063483c670f0dd20a2963a33fe.tar.bz2 |
Add call_compare_by_phone_number utility function
This utility will be used by HFP voicecall driver to compare
two calls. In some hardware, the call index may be shift when
a call transitions from waiting to incoming state (e.g. all other
held and active calls are released)
-rw-r--r-- | drivers/atmodem/atutil.c | 9 | ||||
-rw-r--r-- | drivers/atmodem/atutil.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/atmodem/atutil.c b/drivers/atmodem/atutil.c index 26d0c259..687a466f 100644 --- a/drivers/atmodem/atutil.c +++ b/drivers/atmodem/atutil.c @@ -67,6 +67,15 @@ gint at_util_call_compare_by_status(gconstpointer a, gconstpointer b) return 0; } +gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b) +{ + const struct ofono_call *call = a; + const struct ofono_phone_number *pb = b; + + return memcmp(&call->phone_number, pb, + sizeof(struct ofono_phone_number)); +} + gint at_util_call_compare(gconstpointer a, gconstpointer b) { const struct ofono_call *ca = a; diff --git a/drivers/atmodem/atutil.h b/drivers/atmodem/atutil.h index 0444561a..4ae1a27d 100644 --- a/drivers/atmodem/atutil.h +++ b/drivers/atmodem/atutil.h @@ -22,6 +22,7 @@ void decode_at_error(struct ofono_error *error, const char *final); void dump_response(const char *func, gboolean ok, GAtResult *result); gint at_util_call_compare_by_status(gconstpointer a, gconstpointer b); +gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b); gint at_util_call_compare(gconstpointer a, gconstpointer b); unsigned int at_util_alloc_next_id(unsigned int *id_list); void at_util_release_id(unsigned int *id_list, unsigned int id); |