common,atmodem: move at_util_call_compare_by_id to drivers/common

at_util_call_compare_by_id is used by several modem drivers.
This commit is contained in:
Alexander Couzens 2017-07-25 15:39:36 +02:00
parent 34b9f1b9e4
commit 5880593d55
7 changed files with 22 additions and 21 deletions

View File

@ -80,20 +80,6 @@ gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b)
sizeof(struct ofono_phone_number));
}
gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b)
{
const struct ofono_call *call = a;
unsigned int id = GPOINTER_TO_UINT(b);
if (id < call->id)
return -1;
if (id > call->id)
return 1;
return 0;
}
GSList *at_util_parse_clcc(GAtResult *result, unsigned int *ret_mpty_ids)
{
GAtResultIter iter;

View File

@ -53,7 +53,7 @@ typedef void (*at_util_sim_inserted_cb_t)(gboolean present, void *userdata);
void decode_at_error(struct ofono_error *error, const char *final);
gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b);
gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b);
gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b);
GSList *at_util_parse_clcc(GAtResult *result, unsigned int *mpty_ids);
gboolean at_util_parse_reg(GAtResult *result, const char *prefix,
int *mode, int *status,

View File

@ -51,3 +51,17 @@ gint ofono_call_compare_by_status(gconstpointer a, gconstpointer b)
return 0;
}
gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b)
{
const struct ofono_call *call = a;
unsigned int id = GPOINTER_TO_UINT(b);
if (id < call->id)
return -1;
if (id > call->id)
return 1;
return 0;
}

View File

@ -26,5 +26,6 @@
gint ofono_call_compare(gconstpointer a, gconstpointer b);
gint ofono_call_compare_by_status(gconstpointer a, gconstpointer b);
gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b);
#endif /* __OFONO_DRIVER_COMMON_CALL_LIST */

View File

@ -348,7 +348,7 @@ static void conf_notify(GAtResult *result, gpointer user_data)
ofono_info("Call setup: id %d", call_id);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id),
at_util_call_compare_by_id);
ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("Received CONF for untracked call");
return;
@ -385,7 +385,7 @@ static void conn_notify(GAtResult *result, gpointer user_data)
ofono_info("Call connect: id %d type %d", call_id, call_type);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id),
at_util_call_compare_by_id);
ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("Received CONN for untracked call");
return;
@ -429,7 +429,7 @@ static void cend_notify(GAtResult *result, gpointer user_data)
call_id, duration, end_status);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id),
at_util_call_compare_by_id);
ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("Received CEND for untracked call");
return;

View File

@ -136,7 +136,7 @@ static void xcallstat_notify(GAtResult *result, gpointer user_data)
return;
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(id),
at_util_call_compare_by_id);
ofono_call_compare_by_id);
if (l == NULL && status != CALL_STATUS_DIALING &&
status != CALL_STATUS_INCOMING &&
@ -774,7 +774,7 @@ static void xcolp_notify(GAtResult *result, gpointer user_data)
l = g_slist_find_custom(vd->calls,
GINT_TO_POINTER(call_id),
at_util_call_compare_by_id);
ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("XCOLP for unknown call");
return;

View File

@ -463,7 +463,7 @@ static void ecav_notify(GAtResult *result, gpointer user_data)
* If it doesn't exists we make a new one
*/
l = g_slist_find_custom(vd->calls, GUINT_TO_POINTER(id),
at_util_call_compare_by_id);
ofono_call_compare_by_id);
if (l)
existing_call = l->data;