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 --- libempathy/empathy-message.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libempathy/empathy-message.c') diff --git a/libempathy/empathy-message.c b/libempathy/empathy-message.c index 06b3308c5..995f49ab7 100644 --- a/libempathy/empathy-message.c +++ b/libempathy/empathy-message.c @@ -39,6 +39,7 @@ # include #endif +#include "empathy-client-factory.h" #include "empathy-message.h" #include "empathy-utils.h" #include "empathy-enum-types.h" @@ -352,7 +353,7 @@ EmpathyMessage * empathy_message_from_tpl_log_event (TplEvent *logevent) { EmpathyMessage *retval = NULL; - TpAccountManager *acc_man = NULL; + EmpathyClientFactory *factory; TpAccount *account = NULL; TplEntity *receiver = NULL; TplEntity *sender = NULL; @@ -364,7 +365,7 @@ empathy_message_from_tpl_log_event (TplEvent *logevent) g_return_val_if_fail (TPL_IS_EVENT (logevent), NULL); - acc_man = tp_account_manager_dup (); + factory = empathy_client_factory_dup (); /* FIXME Currently Empathy shows in the log viewer only valid accounts, so it * won't be selected any non-existing (ie removed) account. * When #610455 will be fixed, calling tp_account_manager_ensure_account () @@ -376,9 +377,10 @@ empathy_message_from_tpl_log_event (TplEvent *logevent) * If the way EmpathyContact stores the avatar is changes, it might not be * needed anymore any TpAccount passing and the following call will be * useless */ - account = tp_account_manager_ensure_account (acc_man, - tpl_event_get_account_path (logevent)); - g_object_unref (acc_man); + account = tp_simple_client_factory_ensure_account ( + TP_SIMPLE_CLIENT_FACTORY (factory), + tpl_event_get_account_path (logevent), NULL, NULL); + g_object_unref (factory); if (TPL_IS_TEXT_EVENT (logevent)) { TplTextEvent *textevent = TPL_TEXT_EVENT (logevent); -- cgit v1.2.3