[Telepathy-commits] [telepathy-mission-control/master] Add mcd_dispatcher_context_get_channel_by_type()
Alberto Mardegan
alberto.mardegan at nokia.com
Mon Nov 10 05:06:54 PST 2008
This is a convenience function for the filters.
---
.../libmissioncontrol-server-sections.txt | 1 +
src/mcd-dispatcher-context.h | 2 +
src/mcd-dispatcher.c | 24 ++++++++++++++++++++
3 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/doc/reference/libmissioncontrol-server/libmissioncontrol-server-sections.txt b/doc/reference/libmissioncontrol-server/libmissioncontrol-server-sections.txt
index 3ab1f70..1ef021c 100644
--- a/doc/reference/libmissioncontrol-server/libmissioncontrol-server-sections.txt
+++ b/doc/reference/libmissioncontrol-server/libmissioncontrol-server-sections.txt
@@ -271,6 +271,7 @@ mcd_dispatcher_context_get_channel_object
mcd_dispatcher_context_get_connection_object
mcd_dispatcher_context_get_channel
mcd_dispatcher_context_get_channels
+mcd_dispatcher_context_get_channel_by_type
mcd_dispatcher_context_get_connection
mcd_dispatcher_context_get_chan_handler
mcd_dispatcher_context_get_members
diff --git a/src/mcd-dispatcher-context.h b/src/mcd-dispatcher-context.h
index b2f2bbd..403be22 100644
--- a/src/mcd-dispatcher-context.h
+++ b/src/mcd-dispatcher-context.h
@@ -101,6 +101,8 @@ TpConnection *mcd_dispatcher_context_get_connection_object (McdDispatcherContext
McdChannel * mcd_dispatcher_context_get_channel (McdDispatcherContext * ctx);
const GList *mcd_dispatcher_context_get_channels
(McdDispatcherContext *context);
+McdChannel *mcd_dispatcher_context_get_channel_by_type
+ (McdDispatcherContext *context, GQuark type);
McdConnection *mcd_dispatcher_context_get_connection
(McdDispatcherContext *context);
diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index fdd79f5..5948064 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -2231,6 +2231,30 @@ mcd_dispatcher_context_get_channels (McdDispatcherContext *context)
return context->channels;
}
+/**
+ * mcd_dispatcher_context_get_channel_by_type:
+ * @context: the #McdDispatcherContext.
+ * @type: the #GQuark representing the channel type.
+ *
+ * Returns: the first #McdChannel of the requested type, or %NULL.
+ */
+McdChannel *
+mcd_dispatcher_context_get_channel_by_type (McdDispatcherContext *context,
+ GQuark type)
+{
+ GList *list;
+
+ g_return_val_if_fail (context != NULL, NULL);
+ for (list = context->channels; list != NULL; list = list->next)
+ {
+ McdChannel *channel = MCD_CHANNEL (list->data);
+
+ if (mcd_channel_get_channel_type_quark (channel) == type)
+ return channel;
+ }
+ return NULL;
+}
+
McdChannelHandler *
mcd_dispatcher_context_get_chan_handler (McdDispatcherContext * ctx)
{
--
1.5.6.5
More information about the Telepathy-commits
mailing list