aboutsummaryrefslogtreecommitdiff
path: root/src/mm-call-list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-call-list.c')
-rw-r--r--src/mm-call-list.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mm-call-list.c b/src/mm-call-list.c
index e131d20e..66e8382c 100644
--- a/src/mm-call-list.c
+++ b/src/mm-call-list.c
@@ -148,6 +148,26 @@ mm_call_list_get_call (MMCallList *self,
return (l ? MM_BASE_CALL (l->data) : NULL);
}
+static guint
+cmp_call_by_index (MMBaseCall *call,
+ guint8 *index)
+{
+ return mm_base_call_get_index (call) - *index;
+}
+
+MMBaseCall *
+mm_call_list_get_call_by_index (MMCallList *self,
+ guint8 index)
+{
+ GList *l;
+
+ l = g_list_find_custom (self->priv->list,
+ (gpointer)&index,
+ (GCompareFunc)cmp_call_by_index);
+
+ return (l ? MM_BASE_CALL (l->data) : NULL);
+}
+
gboolean
mm_call_list_delete_call (MMCallList *self,
const gchar *call_path,