[empathy] No need of a contact factory to set location



commit 97fc0a1dd8bd6bd293a09ce0dc34281068ccd620
Author: Xavier Claessens <xclaesse gmail com>
Date:   Thu Apr 29 11:44:49 2010 +0200

    No need of a contact factory to set location

 libempathy-gtk/empathy-location-manager.c |   17 ++++++++++++-----
 libempathy/empathy-tp-contact-factory.c   |   29 -----------------------------
 libempathy/empathy-tp-contact-factory.h   |    2 --
 3 files changed, 12 insertions(+), 36 deletions(-)
---
diff --git a/libempathy-gtk/empathy-location-manager.c b/libempathy-gtk/empathy-location-manager.c
index 0165052..0a9d4dc 100644
--- a/libempathy-gtk/empathy-location-manager.c
+++ b/libempathy-gtk/empathy-location-manager.c
@@ -38,7 +38,6 @@
 
 #include "libempathy/empathy-enum-types.h"
 #include "libempathy/empathy-location.h"
-#include "libempathy/empathy-tp-contact-factory.h"
 #include "libempathy/empathy-utils.h"
 
 #define DEBUG_FLAG EMPATHY_DEBUG_LOCATION
@@ -183,6 +182,16 @@ empathy_location_manager_class_init (EmpathyLocationManagerClass *class)
 }
 
 static void
+publish_location_cb (TpConnection *connection,
+                     const GError *error,
+                     gpointer user_data,
+                     GObject *weak_object)
+{
+  if (error != NULL)
+      DEBUG ("Error setting location: %s", error->message);
+}
+
+static void
 publish_location (EmpathyLocationManager *self,
     TpConnection *conn,
     gboolean force_publication)
@@ -191,7 +200,6 @@ publish_location (EmpathyLocationManager *self,
   guint connection_status = -1;
   gboolean can_publish;
   EmpathyConf *conf = empathy_conf_get ();
-  EmpathyTpContactFactory *factory;
 
   if (!conn)
     return;
@@ -215,9 +223,8 @@ publish_location (EmpathyLocationManager *self,
       (g_hash_table_size (priv->location) == 0 ? "empty" : ""),
       conn);
 
-  factory = empathy_tp_contact_factory_dup_singleton (conn);
-  empathy_tp_contact_factory_set_location (factory, priv->location);
-  g_object_unref (factory);
+  tp_cli_connection_interface_location_call_set_location (conn, -1,
+      priv->location, publish_location_cb, NULL, NULL, G_OBJECT (self));
 }
 
 typedef struct
diff --git a/libempathy/empathy-tp-contact-factory.c b/libempathy/empathy-tp-contact-factory.c
index bbb3886..068c62d 100644
--- a/libempathy/empathy-tp-contact-factory.c
+++ b/libempathy/empathy-tp-contact-factory.c
@@ -125,17 +125,6 @@ tp_contact_factory_set_aliases_cb (TpConnection *connection,
 }
 
 static void
-tp_contact_factory_set_location_cb (TpConnection *tp_conn,
-				    const GError *error,
-				    gpointer user_data,
-				    GObject *weak_object)
-{
-	if (error != NULL) {
-		DEBUG ("Error setting location: %s", error->message);
-	}
-}
-
-static void
 tp_contact_factory_avatar_retrieved_cb (TpConnection *connection,
 					guint         handle,
 					const gchar  *token,
@@ -731,24 +720,6 @@ empathy_tp_contact_factory_set_alias (EmpathyTpContactFactory *tp_factory,
 	g_hash_table_destroy (new_alias);
 }
 
-void
-empathy_tp_contact_factory_set_location (EmpathyTpContactFactory *tp_factory,
-					 GHashTable              *location)
-{
-	EmpathyTpContactFactoryPriv *priv = GET_PRIV (tp_factory);
-
-	g_return_if_fail (EMPATHY_IS_TP_CONTACT_FACTORY (tp_factory));
-
-	DEBUG ("Setting location");
-
-	tp_cli_connection_interface_location_call_set_location (priv->connection,
-								 -1,
-								 location,
-								 tp_contact_factory_set_location_cb,
-								 NULL, NULL,
-								 G_OBJECT (tp_factory));
-}
-
 static void
 tp_contact_factory_get_property (GObject    *object,
 				 guint       param_id,
diff --git a/libempathy/empathy-tp-contact-factory.h b/libempathy/empathy-tp-contact-factory.h
index 4cce6ec..d2572f2 100644
--- a/libempathy/empathy-tp-contact-factory.h
+++ b/libempathy/empathy-tp-contact-factory.h
@@ -104,8 +104,6 @@ void                     empathy_tp_contact_factory_get_from_handle  (EmpathyTpC
 void                     empathy_tp_contact_factory_set_alias        (EmpathyTpContactFactory *tp_factory,
 								      EmpathyContact          *contact,
 								      const gchar             *alias);
-void                     empathy_tp_contact_factory_set_location     (EmpathyTpContactFactory *tp_factory,
-								      GHashTable              *location);
 G_END_DECLS
 
 #endif /* __EMPATHY_TP_CONTACT_FACTORY_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]