Mercurial > pidgin
diff src/protocols/msn/notification.c @ 8583:fc27237783ee
[gaim-migrate @ 9333]
Added Felipe Contreras's patch to reorganize and clean up the MSN
protocol plugin. Thanks, and once again, apologies for the what must have
seemed a never-ending delay.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Mon, 05 Apr 2004 07:11:24 +0000 |
| parents | ee13d1befabe |
| children | b0ceb2a9e122 |
line wrap: on
line diff
--- a/src/protocols/msn/notification.c Mon Apr 05 06:52:02 2004 +0000 +++ b/src/protocols/msn/notification.c Mon Apr 05 07:11:24 2004 +0000 @@ -1582,11 +1582,9 @@ } } else if (!strcmp(params[1], "NS")) { - msn_servconn_destroy(session->notification_conn); - - session->notification_conn = msn_notification_new(session, host, port); - - if (!msn_servconn_connect(session->notification_conn)) { + if (!msn_notification_connect(session->notification_conn, host, + port)) + { gaim_connection_error(gc, _("Unable to transfer to " "notification server")); @@ -1770,23 +1768,14 @@ } static gboolean -connect_cb(gpointer data, gint source, GaimInputCondition cond) +connect_cb(MsnServConn *servconn) { - MsnServConn *notification = data; - MsnSession *session = notification->session; + MsnSession *session = servconn->session; GaimAccount *account = session->account; GaimConnection *gc = gaim_account_get_connection(account); char proto_vers[256]; size_t i; - if (source == -1) { - gaim_connection_error(session->account->gc, _("Unable to connect.")); - return FALSE; - } - - if (notification->fd != source) - notification->fd = source; - proto_vers[0] = '\0'; for (i = 7; i <= session->protocol_ver; i++) @@ -1800,7 +1789,7 @@ strncat(proto_vers, "CVR0", sizeof(proto_vers)); - if (!msn_servconn_send_command(notification, "VER", proto_vers)) + if (!msn_servconn_send_command(servconn, "VER", proto_vers)) { gaim_connection_error(gc, _("Unable to write to server")); return FALSE; @@ -1815,27 +1804,14 @@ return TRUE; } -static void -failed_read_cb(gpointer data, gint source, GaimInputCondition cond) -{ - MsnServConn *notification = data; - GaimConnection *gc; - - gc = notification->session->account->gc; - - gaim_connection_error(gc, _("Error reading from server")); -} - MsnServConn * -msn_notification_new(MsnSession *session, const char *server, int port) +msn_notification_new(MsnSession *session) { MsnServConn *notification; notification = msn_servconn_new(session); - msn_servconn_set_server(notification, server, port); msn_servconn_set_connect_cb(notification, connect_cb); - msn_servconn_set_failed_read_cb(notification, failed_read_cb); if (session->http_method) notification->http_data->server_type = "NS"; @@ -1902,3 +1878,11 @@ return notification; } + +gboolean +msn_notification_connect(MsnServConn *notification, const char *host, int port) +{ + g_return_val_if_fail(notification != NULL, FALSE); + + return msn_servconn_connect(notification, host, port); +}
