summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhenhua Zhang <zhenhua.zhang@intel.com>2009-11-07 15:21:25 +0800
committerDenis Kenzior <denkenz@gmail.com>2009-11-11 16:24:54 -0600
commit372edf4f21d151063483c670f0dd20a2963a33fe (patch)
tree9b54e54b5ab96ad79c7f81ae0043ae9cf4cecc0e
parent95aafed445090f56ea07520dc3446d7d96e13e93 (diff)
downloadofono-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.c9
-rw-r--r--drivers/atmodem/atutil.h1
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);