call-list: allow getting call object by index

This commit is contained in:
Joel Selvaraj
2021-07-18 02:07:04 +05:30
committed by Aleksander Morgado
parent 99ba7ee266
commit 82054410e2
2 changed files with 23 additions and 0 deletions

View File

@@ -148,6 +148,26 @@ mm_call_list_get_call (MMCallList *self,
return (l ? MM_BASE_CALL (l->data) : NULL); 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 gboolean
mm_call_list_delete_call (MMCallList *self, mm_call_list_delete_call (MMCallList *self,
const gchar *call_path, const gchar *call_path,

View File

@@ -68,6 +68,9 @@ void mm_call_list_add_call (MMCallList *self,
MMBaseCall *mm_call_list_get_call (MMCallList *self, MMBaseCall *mm_call_list_get_call (MMCallList *self,
const gchar *call_path); const gchar *call_path);
MMBaseCall *mm_call_list_get_call_by_index (MMCallList *self,
guint8 index);
gboolean mm_call_list_delete_call (MMCallList *self, gboolean mm_call_list_delete_call (MMCallList *self,
const gchar *call_path, const gchar *call_path,
GError **error); GError **error);