aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-02-19 00:31:35 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-06-08 23:39:18 +0800
commitb0578383999a3b0726a7c8cc306aaac6d67b2384 (patch)
tree897aacfab3516c2185c438ca2422ec86ef049aec
parentee49de4c751017cb80ea6008560b61b0ee389d76 (diff)
downloadgsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.tar
gsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.tar.gz
gsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.tar.bz2
gsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.tar.lz
gsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.tar.xz
gsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.tar.zst
gsoc2013-empathy-b0578383999a3b0726a7c8cc306aaac6d67b2384.zip
Teach EmpathyChannelFactory how to create Call channels
Conflicts: libempathy/empathy-channel-factory.c
-rw-r--r--libempathy/Makefile.am2
-rw-r--r--libempathy/empathy-channel-factory.c13
2 files changed, 15 insertions, 0 deletions
diff --git a/libempathy/Makefile.am b/libempathy/Makefile.am
index cfea24c0e..e6acc648d 100644
--- a/libempathy/Makefile.am
+++ b/libempathy/Makefile.am
@@ -10,6 +10,7 @@ AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"empathy\" \
-DGCR_API_SUBJECT_TO_CHANGE \
$(EMPATHY_CFLAGS) \
+ $(YELL_CFLAGS) \
$(GEOCLUE_CFLAGS) \
$(NETWORK_MANAGER_CFLAGS) \
$(CONNMAN_CFLAGS) \
@@ -111,6 +112,7 @@ libempathy_la_LIBADD = \
$(top_builddir)/extensions/libemp-extensions.la \
$(GCR_LIBS) \
$(EMPATHY_LIBS) \
+ $(YELL_LIBS) \
$(GEOCLUE_LIBS) \
$(NETWORK_MANAGER_LIBS) \
$(CONNMAN_LIBS)
diff --git a/libempathy/empathy-channel-factory.c b/libempathy/empathy-channel-factory.c
index d1da3047d..b2a630ca1 100644
--- a/libempathy/empathy-channel-factory.c
+++ b/libempathy/empathy-channel-factory.c
@@ -19,6 +19,8 @@
* Authors: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
*/
+#include <config.h>
+
#include "empathy-channel-factory.h"
#include "empathy-tp-chat.h"
@@ -26,6 +28,10 @@
#include <telepathy-glib/telepathy-glib.h>
+#if HAVE_CALL
+ #include <telepathy-yell/telepathy-yell.h>
+#endif
+
static void factory_iface_init (gpointer, gpointer);
G_DEFINE_TYPE_WITH_CODE (EmpathyChannelFactory, empathy_channel_factory,
@@ -113,6 +119,13 @@ empathy_channel_factory_create_channel (
return TP_CHANNEL (empathy_tp_chat_new (account, conn, path, properties));
}
+#if HAVE_CALL
+ else if (!tp_strdiff (chan_type, TPY_IFACE_CHANNEL_TYPE_CALL))
+ {
+ return TP_CHANNEL (tpy_call_channel_new (conn, path, properties,
+ error));
+ }
+#endif
return tp_client_channel_factory_create_channel (
self->priv->automatic_factory, conn, path, properties, error);