empathy r2145 - in trunk: libempathy-gtk src



Author: xclaesse
Date: Fri Jan  9 16:13:04 2009
New Revision: 2145
URL: http://svn.gnome.org/viewvc/empathy?rev=2145&view=rev

Log:
Use new dispatcher API to get muc channels

Signed-off-by: Sjoerd Simons <sjoerd simons collabora co uk>

Modified:
   trunk/libempathy-gtk/empathy-chat.c
   trunk/src/empathy-main-window.c
   trunk/src/empathy-new-chatroom-dialog.c

Modified: trunk/libempathy-gtk/empathy-chat.c
==============================================================================
--- trunk/libempathy-gtk/empathy-chat.c	(original)
+++ trunk/libempathy-gtk/empathy-chat.c	Fri Jan  9 16:13:04 2009
@@ -40,6 +40,7 @@
 #include <libempathy/empathy-log-manager.h>
 #include <libempathy/empathy-contact-list.h>
 #include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-dispatcher.h>
 
 #include "empathy-chat.h"
 #include "empathy-conf.h"
@@ -179,21 +180,21 @@
 	if (current == TP_CONNECTION_STATUS_CONNECTED && !priv->tp_chat &&
 	    empathy_account_equal (account, priv->account) &&
 	    priv->handle_type != TP_HANDLE_TYPE_NONE) {
-		TpConnection *connection;
-		MissionControl *mc;
-
+		
 		DEBUG ("Account reconnected, request a new Text channel");
 
-		mc = empathy_mission_control_new ();
-		connection = mission_control_get_tpconnection (mc, account, NULL);
-		tp_connection_run_until_ready (connection, FALSE, NULL, NULL);
-		empathy_connection_request_channel (connection, -1,
-						    TP_IFACE_CHANNEL_TYPE_TEXT,
-						    priv->handle_type,
-						    priv->id, TRUE,
-						    NULL, NULL, NULL, NULL);
-		g_object_unref (connection);
-		g_object_unref (mc);
+		switch (priv->handle_type) {
+				case TP_HANDLE_TYPE_CONTACT:
+					empathy_dispatcher_chat_with_contact_id (account, unique_name,
+						NULL, NULL);
+					break;
+				case TP_HANDLE_TYPE_ROOM:
+					empathy_dispatcher_join_muc (account, unique_name, NULL, NULL);
+					break;
+				default:
+					g_assert_not_reached ();
+					break;
+			}
 	}
 }
 

Modified: trunk/src/empathy-main-window.c
==============================================================================
--- trunk/src/empathy-main-window.c	(original)
+++ trunk/src/empathy-main-window.c	Fri Jan  9 16:13:04 2009
@@ -31,6 +31,7 @@
 #include <libempathy/empathy-contact.h>
 #include <libempathy/empathy-utils.h>
 #include <libempathy/empathy-account-manager.h>
+#include <libempathy/empathy-dispatcher.h>
 #include <libempathy/empathy-chatroom-manager.h>
 #include <libempathy/empathy-chatroom.h>
 #include <libempathy/empathy-contact-list.h>
@@ -49,6 +50,8 @@
 #include <libempathy-gtk/empathy-new-message-dialog.h>
 #include <libempathy-gtk/empathy-gtk-enum-types.h>
 
+#include <libmissioncontrol/mission-control.h>
+
 #include "empathy-accounts-dialog.h"
 #include "empathy-main-window.h"
 #include "ephy-spinner.h"
@@ -843,25 +846,20 @@
 {
 	MissionControl *mc;
 	McAccount      *account;
-	TpConnection   *connection;
 	const gchar    *room;
 
 	mc = empathy_mission_control_new ();
 	account = empathy_chatroom_get_account (chatroom);
 	room = empathy_chatroom_get_room (chatroom);
 
+	 if (mission_control_get_connection_status (mc, account, NULL) !=
+			TP_CONNECTION_STATUS_CONNECTED) {
+		return;
+	}
+
 	DEBUG ("Requesting channel for '%s'", room);
+	empathy_dispatcher_join_muc (account, room, NULL, NULL);
 
-	connection = mission_control_get_tpconnection (mc, account, NULL);
-	if (connection) {
-		tp_connection_run_until_ready (connection, TRUE, NULL, NULL);	
-		empathy_connection_request_channel (connection, -1,
-						    TP_IFACE_CHANNEL_TYPE_TEXT,
-						    TP_HANDLE_TYPE_ROOM,
-						    room, TRUE,
-						    NULL, NULL, NULL, NULL);
-		g_object_unref (connection);
-	}
 	g_object_unref (mc);
 }
 

Modified: trunk/src/empathy-new-chatroom-dialog.c
==============================================================================
--- trunk/src/empathy-new-chatroom-dialog.c	(original)
+++ trunk/src/empathy-new-chatroom-dialog.c	Fri Jan  9 16:13:04 2009
@@ -39,6 +39,7 @@
 #include <libempathy/empathy-tp-roomlist.h>
 #include <libempathy/empathy-chatroom.h>
 #include <libempathy/empathy-utils.h>
+#include <libempathy/empathy-dispatcher.h>
 
 #include <libempathy-gtk/empathy-account-chooser.h>
 #include <libempathy-gtk/empathy-ui-utils.h>
@@ -489,8 +490,6 @@
 {
 	EmpathyAccountChooser *account_chooser;
 	McAccount             *account;
-	MissionControl        *mc;
-	TpConnection          *connection;
 	const gchar           *room;
 	const gchar           *server = NULL;
 	gchar                 *room_name = NULL;
@@ -508,18 +507,9 @@
 	}
 
 	DEBUG ("Requesting channel for '%s'", room_name);
+	empathy_dispatcher_join_muc (account, room_name, NULL, NULL);
 
-	mc = empathy_mission_control_new ();
-	connection = mission_control_get_tpconnection (mc, account, NULL);
-	tp_connection_run_until_ready (connection, TRUE, NULL, NULL);	
-	empathy_connection_request_channel (connection, -1,
-					    TP_IFACE_CHANNEL_TYPE_TEXT,
-					    TP_HANDLE_TYPE_ROOM,
-					    room_name, TRUE,
-					    NULL, NULL, NULL, NULL);
 	g_free (room_name);
-	g_object_unref (connection);
-	g_object_unref (mc);
 }
 
 static void



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