aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-call-list.c14
-rw-r--r--src/mm-call-list.h6
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mm-call-list.c b/src/mm-call-list.c
index a3b914bb..e4798d47 100644
--- a/src/mm-call-list.c
+++ b/src/mm-call-list.c
@@ -54,6 +54,20 @@ struct _MMCallListPrivate {
/*****************************************************************************/
+void
+mm_call_list_foreach (MMCallList *self,
+ MMCallListForeachFunc callback,
+ gpointer user_data)
+{
+ GList *l;
+
+ g_assert (callback);
+ for (l = self->priv->list; l; l = g_list_next (l))
+ callback (MM_BASE_CALL (l->data), user_data);
+}
+
+/*****************************************************************************/
+
guint
mm_call_list_get_count (MMCallList *self)
{
diff --git a/src/mm-call-list.h b/src/mm-call-list.h
index 4167cd08..0555f48b 100644
--- a/src/mm-call-list.h
+++ b/src/mm-call-list.h
@@ -71,4 +71,10 @@ gboolean mm_call_list_delete_call (MMCallList *self,
MMBaseCall *mm_call_list_get_first_incoming_call (MMCallList *self,
MMCallState incoming_state);
+typedef void (* MMCallListForeachFunc) (MMBaseCall *call,
+ gpointer user_data);
+void mm_call_list_foreach (MMCallList *self,
+ MMCallListForeachFunc callback,
+ gpointer user_data);
+
#endif /* MM_CALL_LIST_H */