diff options
author | Joel Selvaraj <jo@jsfamily.in> | 2021-07-18 02:07:04 +0530 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-08-02 13:11:29 +0000 |
commit | 82054410e2f1668e9418616c24f35a5b3c6826fe (patch) | |
tree | 4dcb8d640a16d345705439b4d1ec0140429a81e7 /src/mm-call-list.c | |
parent | 99ba7ee266965c1986b63a1083deaac23b220c33 (diff) |
call-list: allow getting call object by index
Diffstat (limited to 'src/mm-call-list.c')
-rw-r--r-- | src/mm-call-list.c | 20 |
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, |