aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
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 /libempathy-gtk
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 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c13
-rw-r--r--libempathy-gtk/empathy-log-window.c17
2 files changed, 13 insertions, 17 deletions
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index 4b2febd30..277842ff5 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -34,6 +34,7 @@
#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/util.h>
+#include <libempathy/empathy-client-factory.h>
#include <libempathy/empathy-tp-contact-factory.h>
#include <libempathy/empathy-contact-list.h>
#include <libempathy/empathy-contact-groups.h>
@@ -382,7 +383,7 @@ contact_list_view_contact_drag_received (GtkWidget *view,
GtkSelectionData *selection)
{
EmpathyContactListViewPriv *priv;
- TpAccountManager *account_manager;
+ EmpathyClientFactory *factory;
TpConnection *connection = NULL;
TpAccount *account = NULL;
DndGetContactData *data;
@@ -423,12 +424,14 @@ contact_list_view_contact_drag_received (GtkWidget *view,
return FALSE;
}
- account_manager = tp_account_manager_dup ();
+ factory = empathy_client_factory_dup ();
strv = g_strsplit (sel_data, ":", 2);
if (g_strv_length (strv) == 2) {
account_id = strv[0];
contact_id = strv[1];
- account = tp_account_manager_ensure_account (account_manager, account_id);
+ account = tp_simple_client_factory_ensure_account (
+ TP_SIMPLE_CLIENT_FACTORY (factory),
+ account_id, NULL, NULL);
}
if (account) {
connection = tp_account_get_connection (account);
@@ -438,7 +441,7 @@ contact_list_view_contact_drag_received (GtkWidget *view,
DEBUG ("Failed to get connection for account '%s'", account_id);
g_free (new_group);
g_free (old_group);
- g_object_unref (account_manager);
+ g_object_unref (factory);
return FALSE;
}
@@ -454,7 +457,7 @@ contact_list_view_contact_drag_received (GtkWidget *view,
data, (GDestroyNotify) contact_list_view_dnd_get_contact_free,
G_OBJECT (view));
g_strfreev (strv);
- g_object_unref (account_manager);
+ g_object_unref (factory);
return TRUE;
}
diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c
index 5620f4b7c..d0f57a6de 100644
--- a/libempathy-gtk/empathy-log-window.c
+++ b/libempathy-gtk/empathy-log-window.c
@@ -1041,21 +1041,14 @@ observe_channels (TpSimpleObserver *observer,
static void
log_window_create_observer (EmpathyLogWindow *self)
{
- TpDBusDaemon *dbus;
- GError *error = NULL;
+ TpAccountManager *am;
- dbus = tp_dbus_daemon_dup (&error);
+ am = tp_account_manager_dup ();
- if (dbus == NULL)
- {
- DEBUG ("Could not connect to the bus: %s", error->message);
- g_error_free (error);
- return;
- }
-
- self->priv->observer = tp_simple_observer_new (dbus, TRUE, "LogWindow",
+ self->priv->observer = tp_simple_observer_new_with_am (am, TRUE, "LogWindow",
TRUE, observe_channels,
g_object_ref (self), g_object_unref);
+
self->priv->channels = g_hash_table_new_full (g_direct_hash, g_direct_equal,
g_object_unref, g_object_unref);
@@ -1077,7 +1070,7 @@ log_window_create_observer (EmpathyLogWindow *self)
tp_base_client_register (self->priv->observer, NULL);
- g_object_unref (dbus);
+ g_object_unref (am);
}
static TplEntity *