From 9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 18 Aug 2011 11:31:10 +0200 Subject: Port to new tp-glib client factory - EmpathyChannelFactory has been changed to EmpathyClientFactory and inherit from TpAutomaticClientFactory. - We now always use the _with_am variant of TpSimple* constructors - We define our own factory as default. - Replace empathy_get_account_for_connection() by tp_connection_get_account() - The factory is passed to EmpathyTpChat and TpyCallChannel - Use tp_simple_client_factory_ensure_account() instead of tp_account_manager_ensure_account(). - Rely on the factory to prepare connection features. This should ensure that all the TpProxy and TpContact objects created in Empathy are shared and use EmpathyClientFactory. https://bugzilla.gnome.org/show_bug.cgi?id=655799 --- src/empathy-call-factory.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'src/empathy-call-factory.c') diff --git a/src/empathy-call-factory.c b/src/empathy-call-factory.c index 46ef01aa5..9f3fe16ec 100644 --- a/src/empathy-call-factory.c +++ b/src/empathy-call-factory.c @@ -29,7 +29,6 @@ #include -#include #include #include #include @@ -76,28 +75,15 @@ empathy_call_factory_init (EmpathyCallFactory *obj) { EmpathyCallFactoryPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (obj, EMPATHY_TYPE_CALL_FACTORY, EmpathyCallFactoryPriv); - TpDBusDaemon *dbus; - EmpathyChannelFactory *factory; - GError *error = NULL; + TpAccountManager *am; obj->priv = priv; - dbus = tp_dbus_daemon_dup (&error); - if (dbus == NULL) - { - g_warning ("Failed to get TpDBusDaemon: %s", error->message); - g_error_free (error); - return; - } + am = tp_account_manager_dup (); - priv->handler = tp_simple_handler_new (dbus, FALSE, FALSE, + priv->handler = tp_simple_handler_new_with_am (am, FALSE, FALSE, EMPATHY_CALL_BUS_NAME_SUFFIX, FALSE, handle_channels_cb, obj, NULL); - factory = empathy_channel_factory_new (); - tp_base_client_set_channel_factory (priv->handler, - TP_CLIENT_CHANNEL_FACTORY (factory)); - g_object_unref (factory); - tp_base_client_take_handler_filter (priv->handler, tp_asv_new ( TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, TPY_IFACE_CHANNEL_TYPE_CALL, @@ -127,7 +113,7 @@ empathy_call_factory_init (EmpathyCallFactory *obj) "org.freedesktop.Telepathy.Channel.Interface.MediaSignalling/video/h264", NULL); - g_object_unref (dbus); + g_object_unref (am); } static GObject * -- cgit v1.2.3