diff src/protocols/msn/switchboard.c @ 10044:86a6d78b070b

[gaim-migrate @ 11003] this is the msn buddy list sync code from the 1.0.0 tree, also from shx. in this patch, i changed one instance of "b" to "buddy" to make it compile. this introduces code to ask the user about discrepances between the local and server lists on msn. committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sun, 19 Sep 2004 03:02:28 +0000
parents 65b3156f9f48
children 9d839c9f6c2d
line wrap: on
line diff
--- a/src/protocols/msn/switchboard.c	Sun Sep 19 02:53:00 2004 +0000
+++ b/src/protocols/msn/switchboard.c	Sun Sep 19 03:02:28 2004 +0000
@@ -605,13 +605,14 @@
 	swboard->servconn = servconn = msn_servconn_new(session, MSN_SERVER_SB);
 	cmdproc = servconn->cmdproc;
 
-	msn_servconn_set_connect_cb(servconn, connect_cb);
-	msn_servconn_set_disconnect_cb(servconn, disconnect_cb);
-
 	swboard->im_queue = g_queue_new();
 
 	if (session->http_method)
 		servconn->http_data->server_type = "SB";
+	else
+		msn_servconn_set_connect_cb(servconn, connect_cb);
+
+	msn_servconn_set_disconnect_cb(servconn, disconnect_cb);
 
 	servconn->data = swboard;
 
@@ -799,8 +800,40 @@
 	msn_parse_socket(cmd->params[2], &host, &port);
 
 	if (swboard->session->http_method)
+	{
+		GaimAccount *account;
+		MsnSession *session;
+		MsnServConn *servconn;
+
 		port = 80;
 
+		session = swboard->session;
+		servconn = swboard->servconn;
+		account = session->account;
+
+		swboard->user_joined = TRUE;
+
+		servconn->http_data->gateway_host = g_strdup(host);
+
+#if 0
+		servconn->connected = TRUE;
+		servconn->cmdproc->ready = TRUE;
+#endif
+
+		if (msn_switchboard_is_invited(swboard))
+		{
+			msn_cmdproc_send(servconn->cmdproc, "ANS", "%s %s %s",
+							 gaim_account_get_username(account),
+							 swboard->auth_key, swboard->session_id);
+		}
+		else
+		{
+			msn_cmdproc_send(servconn->cmdproc, "USR", "%s %s",
+							 gaim_account_get_username(account),
+							 swboard->auth_key);
+		}
+	}
+
 	msn_switchboard_connect(swboard, host, port);
 }