aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-event-manager.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-08-18 17:31:10 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-08-18 18:15:06 +0800
commit9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416 (patch)
tree4e4cfd5b8f801acff74edfdd5072f45d7038e00b /src/empathy-event-manager.c
parent7fbf3e0c200b0a3c5086fdce0cc19afe48c429bb (diff)
downloadgsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar
gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.gz
gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.bz2
gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.lz
gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.xz
gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.zst
gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.zip
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
Diffstat (limited to 'src/empathy-event-manager.c')
-rw-r--r--src/empathy-event-manager.c30
1 files changed, 6 insertions, 24 deletions
diff --git a/src/empathy-event-manager.c b/src/empathy-event-manager.c
index 27f8a0bdb..a6ce22b18 100644
--- a/src/empathy-event-manager.c
+++ b/src/empathy-event-manager.c
@@ -31,7 +31,6 @@
#include <telepathy-yell/telepathy-yell.h>
-#include <libempathy/empathy-channel-factory.h>
#include <libempathy/empathy-presence-manager.h>
#include <libempathy/empathy-tp-contact-factory.h>
#include <libempathy/empathy-contact-manager.h>
@@ -1371,9 +1370,8 @@ empathy_event_manager_init (EmpathyEventManager *manager)
{
EmpathyEventManagerPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (manager,
EMPATHY_TYPE_EVENT_MANAGER, EmpathyEventManagerPriv);
- TpDBusDaemon *dbus;
GError *error = NULL;
- EmpathyChannelFactory *factory;
+ TpAccountManager *am;
manager->priv = priv;
@@ -1389,20 +1387,10 @@ empathy_event_manager_init (EmpathyEventManager *manager)
g_signal_connect (priv->contact_manager, "members-changed",
G_CALLBACK (event_manager_members_changed_cb), manager);
- dbus = tp_dbus_daemon_dup (&error);
- if (dbus == NULL)
- {
- DEBUG ("Failed to get TpDBusDaemon: %s", error->message);
- g_error_free (error);
- return;
- }
+ am = tp_account_manager_dup ();
- priv->approver = tp_simple_approver_new (dbus, "Empathy.EventManager", FALSE,
- approve_channels, manager, NULL);
-
- /* EmpathyTpChat relies on this feature being prepared */
- tp_base_client_add_connection_features_varargs (priv->approver,
- TP_CONNECTION_FEATURE_CAPABILITIES, 0);
+ priv->approver = tp_simple_approver_new_with_am (am, "Empathy.EventManager",
+ FALSE, approve_channels, manager, NULL);
/* Private text channels */
tp_base_client_take_approver_filter (priv->approver,
@@ -1449,7 +1437,7 @@ empathy_event_manager_init (EmpathyEventManager *manager)
* EmpathyTpChat and its users to not depend on the connection being
* prepared with capabilities. I chose the former, obviously. :-) */
- priv->auth_approver = tp_simple_approver_new (dbus,
+ priv->auth_approver = tp_simple_approver_new_with_am (am,
"Empathy.AuthEventManager", FALSE, approve_channels, manager,
NULL);
@@ -1463,11 +1451,6 @@ empathy_event_manager_init (EmpathyEventManager *manager)
TP_IFACE_CHANNEL_INTERFACE_SASL_AUTHENTICATION,
NULL));
- factory = empathy_channel_factory_dup ();
-
- tp_base_client_set_channel_factory (priv->approver,
- TP_CLIENT_CHANNEL_FACTORY (factory));
-
if (!tp_base_client_register (priv->approver, &error))
{
DEBUG ("Failed to register Approver: %s", error->message);
@@ -1480,8 +1463,7 @@ empathy_event_manager_init (EmpathyEventManager *manager)
g_error_free (error);
}
- g_object_unref (factory);
- g_object_unref (dbus);
+ g_object_unref (am);
}
EmpathyEventManager *