[telepathy-mission-control/master] McdDispatchOperation: add accessors for the channels we're processing

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Nov 2 06:41:31 PST 2009


---
 src/mcd-dispatch-operation-priv.h |    7 +++++++
 src/mcd-dispatch-operation.c      |   26 ++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/src/mcd-dispatch-operation-priv.h b/src/mcd-dispatch-operation-priv.h
index 1f9256c..30990a7 100644
--- a/src/mcd-dispatch-operation-priv.h
+++ b/src/mcd-dispatch-operation-priv.h
@@ -76,6 +76,13 @@ G_GNUC_INTERNAL void _mcd_dispatch_operation_approve
 G_GNUC_INTERNAL McdDispatchOperation *_mcd_dispatch_operation_new (
     McdClientRegistry *client_registry, gboolean needs_approval,
     GList *channels, const gchar * const *possible_handlers);
+
+G_GNUC_INTERNAL gboolean _mcd_dispatch_operation_has_channel (
+    McdDispatchOperation *self, McdChannel *channel);
+G_GNUC_INTERNAL const GList *_mcd_dispatch_operation_peek_channels (
+    McdDispatchOperation *self);
+G_GNUC_INTERNAL GList *_mcd_dispatch_operation_dup_channels (
+    McdDispatchOperation *self);
 G_GNUC_INTERNAL void _mcd_dispatch_operation_lose_channel (
     McdDispatchOperation *self, McdChannel *channel, GList **channels);
 
diff --git a/src/mcd-dispatch-operation.c b/src/mcd-dispatch-operation.c
index d9e11fd..04806f0 100644
--- a/src/mcd-dispatch-operation.c
+++ b/src/mcd-dispatch-operation.c
@@ -1215,3 +1215,29 @@ _mcd_dispatch_operation_set_approved (McdDispatchOperation *self)
     g_return_if_fail (MCD_IS_DISPATCH_OPERATION (self));
     self->priv->approved = TRUE;
 }
+
+gboolean
+_mcd_dispatch_operation_has_channel (McdDispatchOperation *self,
+                                     McdChannel *channel)
+{
+    g_return_val_if_fail (MCD_IS_DISPATCH_OPERATION (self), FALSE);
+    return (g_list_find (self->priv->channels, channel) != NULL);
+}
+
+const GList *
+_mcd_dispatch_operation_peek_channels (McdDispatchOperation *self)
+{
+    g_return_val_if_fail (MCD_IS_DISPATCH_OPERATION (self), NULL);
+    return self->priv->channels;
+}
+
+GList *
+_mcd_dispatch_operation_dup_channels (McdDispatchOperation *self)
+{
+    GList *copy;
+
+    g_return_val_if_fail (MCD_IS_DISPATCH_OPERATION (self), NULL);
+    copy = g_list_copy (self->priv->channels);
+    g_list_foreach (copy, (GFunc) g_object_ref, NULL);
+    return copy;
+}
-- 
1.5.6.5




More information about the telepathy-commits mailing list