]> git.0d.be Git - empathy.git/blobdiff - src/empathy-chat-manager.c
Move should_create_salut_account to local-xmpp-assistant-widget
[empathy.git] / src / empathy-chat-manager.c
index e6ffaa0e926deb2c42c460fb8b065a6b4567b476..a52585736d51426183b0d0f64d0ce553ecee5336 100644 (file)
@@ -20,7 +20,6 @@
 #include <telepathy-glib/telepathy-glib.h>
 #include <telepathy-glib/proxy-subclass.h>
 
-#include <libempathy/empathy-channel-factory.h>
 #include <libempathy/empathy-chatroom-manager.h>
 #include <libempathy/empathy-request-util.h>
 #include <libempathy/empathy-utils.h>
@@ -235,35 +234,22 @@ static void
 empathy_chat_manager_init (EmpathyChatManager *self)
 {
   EmpathyChatManagerPriv *priv = GET_PRIV (self);
-  TpDBusDaemon *dbus;
+  TpAccountManager *am;
   GError *error = NULL;
-  EmpathyChannelFactory *factory;
 
   priv->closed_queue = g_queue_new ();
   priv->messages = g_hash_table_new_full (g_str_hash, g_str_equal,
       g_free, (GDestroyNotify) g_hash_table_unref);
 
-  dbus = tp_dbus_daemon_dup (&error);
-  if (dbus == NULL)
-    {
-      g_critical ("Failed to get D-Bus daemon: %s", error->message);
-      g_error_free (error);
-      return;
-    }
+  am = tp_account_manager_dup ();
 
   priv->chatroom_mgr = empathy_chatroom_manager_dup_singleton (NULL);
 
   /* Text channels handler */
-  priv->handler = tp_simple_handler_new (dbus, FALSE, FALSE,
+  priv->handler = tp_simple_handler_new_with_am (am, FALSE, FALSE,
       EMPATHY_CHAT_BUS_NAME_SUFFIX, FALSE, handle_channels, self, NULL);
 
-  /* EmpathyTpChat relies on these features being prepared */
-  tp_base_client_add_connection_features_varargs (priv->handler,
-    TP_CONNECTION_FEATURE_CAPABILITIES, 0);
-  tp_base_client_add_channel_features_varargs (priv->handler,
-      TP_CHANNEL_FEATURE_CHAT_STATES, 0);
-
-  g_object_unref (dbus);
+  g_object_unref (am);
 
   tp_base_client_take_handler_filter (priv->handler, tp_asv_new (
         TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, TP_IFACE_CHANNEL_TYPE_TEXT,
@@ -280,18 +266,11 @@ empathy_chat_manager_init (EmpathyChatManager *self)
         TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, TP_HANDLE_TYPE_NONE,
         NULL));
 
-  factory = empathy_channel_factory_dup ();
-
-  tp_base_client_set_channel_factory (priv->handler,
-      TP_CLIENT_CHANNEL_FACTORY (factory));
-
   if (!tp_base_client_register (priv->handler, &error))
     {
       g_critical ("Failed to register text handler: %s", error->message);
       g_error_free (error);
     }
-
-  g_object_unref (factory);
 }
 
 static void
@@ -370,7 +349,7 @@ empathy_chat_manager_class_init (
         G_SIGNAL_RUN_LAST,
         0,
         NULL, NULL,
-        g_cclosure_marshal_VOID__UINT,
+        g_cclosure_marshal_generic,
         G_TYPE_NONE,
         1, G_TYPE_UINT, NULL);
 
@@ -380,7 +359,7 @@ empathy_chat_manager_class_init (
         G_SIGNAL_RUN_LAST,
         0,
         NULL, NULL,
-        g_cclosure_marshal_VOID__UINT,
+        g_cclosure_marshal_generic,
         G_TYPE_NONE,
         1, G_TYPE_UINT, NULL);
 
@@ -469,9 +448,11 @@ empathy_chat_manager_undo_closed_chat (EmpathyChatManager *self,
   if (data->room)
     empathy_join_muc (data->account, data->id, timestamp);
   else if (data->sms)
-    empathy_sms_contact_id (data->account, data->id, timestamp);
+    empathy_sms_contact_id (data->account, data->id, timestamp,
+        NULL, NULL);
   else
-    empathy_chat_with_contact_id (data->account, data->id, timestamp);
+    empathy_chat_with_contact_id (data->account, data->id, timestamp,
+        NULL, NULL);
 
   g_signal_emit (self, signals[CLOSED_CHATS_CHANGED], 0,
       g_queue_get_length (priv->closed_queue));