summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorZhenhua Zhang <zhenhua.zhang@intel.com>2009-10-29 01:22:06 +0800
committerDenis Kenzior <denkenz@gmail.com>2009-10-28 17:30:02 -0500
commit17903940c5d356cb0bfb44d26bce422ec2ec06f6 (patch)
tree61390a22269110196610aff9e66478728239df77 /drivers
parent6d31b05b9520e856065d6477457d8a55c0bcff21 (diff)
downloadofono-17903940c5d356cb0bfb44d26bce422ec2ec06f6.tar.bz2
Refactor: Move & Rename functions to atutil.c
Move and rename call_compare and call_compare_by_status to atutil.c. These will be utilized by other drivers, including hfpmodem.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/atmodem/atutil.c26
-rw-r--r--drivers/atmodem/atutil.h2
-rw-r--r--drivers/atmodem/voicecall.c39
3 files changed, 35 insertions, 32 deletions
diff --git a/drivers/atmodem/atutil.c b/drivers/atmodem/atutil.c
index 5d9ceb85..578522f6 100644
--- a/drivers/atmodem/atutil.c
+++ b/drivers/atmodem/atutil.c
@@ -55,3 +55,29 @@ void decode_at_error(struct ofono_error *error, const char *final)
error->error = 0;
}
}
+
+gint at_util_call_compare_by_status(gconstpointer a, gconstpointer b)
+{
+ const struct ofono_call *call = a;
+ int status = GPOINTER_TO_INT(b);
+
+ if (status != call->status)
+ return 1;
+
+ return 0;
+}
+
+gint at_util_call_compare(gconstpointer a, gconstpointer b)
+{
+ const struct ofono_call *ca = a;
+ const struct ofono_call *cb = b;
+
+ if (ca->id < cb->id)
+ return -1;
+
+ if (ca->id > cb->id)
+ return 1;
+
+ return 0;
+}
+
diff --git a/drivers/atmodem/atutil.h b/drivers/atmodem/atutil.h
index c30c70b7..ab9db053 100644
--- a/drivers/atmodem/atutil.h
+++ b/drivers/atmodem/atutil.h
@@ -21,6 +21,8 @@
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(gconstpointer a, gconstpointer b);
struct cb_data {
void *cb;
diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c
index 22a802fa..f0c8d93f 100644
--- a/drivers/atmodem/voicecall.c
+++ b/drivers/atmodem/voicecall.c
@@ -109,31 +109,6 @@ static void release_id(struct voicecall_data *d, unsigned int id)
d->id_list &= ~(0x1 << id);
}
-static gint call_compare_by_status(gconstpointer a, gconstpointer b)
-{
- const struct ofono_call *call = a;
- int status = GPOINTER_TO_INT(b);
-
- if (status != call->status)
- return 1;
-
- return 0;
-}
-
-static gint call_compare(gconstpointer a, gconstpointer b)
-{
- const struct ofono_call *ca = a;
- const struct ofono_call *cb = b;
-
- if (ca->id < cb->id)
- return -1;
-
- if (ca->id > cb->id)
- return 1;
-
- return 0;
-}
-
static struct ofono_call *create_call(struct voicecall_data *d, int type,
int direction, int status,
const char *num, int num_type, int clip)
@@ -159,7 +134,7 @@ static struct ofono_call *create_call(struct voicecall_data *d, int type,
call->clip_validity = clip;
- d->calls = g_slist_insert_sorted(d->calls, call, call_compare);
+ d->calls = g_slist_insert_sorted(d->calls, call, at_util_call_compare);
return call;
}
@@ -213,7 +188,7 @@ static GSList *parse_clcc(GAtResult *result)
else
call->clip_validity = 2;
- l = g_slist_insert_sorted(l, call, call_compare);
+ l = g_slist_insert_sorted(l, call, at_util_call_compare);
}
return l;
@@ -729,12 +704,12 @@ static void ring_notify(GAtResult *result, gpointer user_data)
/* See comment in CRING */
if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(5),
- call_compare_by_status))
+ at_util_call_compare_by_status))
return;
/* RING can repeat, ignore if we already have an incoming call */
if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
- call_compare_by_status))
+ at_util_call_compare_by_status))
return;
/* Generate an incoming call of unknown type */
@@ -768,12 +743,12 @@ static void cring_notify(GAtResult *result, gpointer user_data)
* when a waiting call exists (cannot have waiting + incoming in GSM)
*/
if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(5),
- call_compare_by_status))
+ at_util_call_compare_by_status))
return;
/* CRING can repeat, ignore if we already have an incoming call */
if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
- call_compare_by_status))
+ at_util_call_compare_by_status))
return;
g_at_result_iter_init(&iter, result);
@@ -818,7 +793,7 @@ static void clip_notify(GAtResult *result, gpointer user_data)
dump_response("clip_notify", TRUE, result);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
- call_compare_by_status);
+ at_util_call_compare_by_status);
if (l == NULL) {
ofono_error("CLIP for unknown call");