Mercurial > pidgin
diff src/protocols/oscar/oscar.c @ 2675:e759254b29bb
[gaim-migrate @ 2688]
This source code was developed using Microsoft Visual Studio 6.0.
committer: Tailor Script <tailor@pidgin.im>
author | Adam Fritzler <mid@auk.cx> |
---|---|
date | Mon, 05 Nov 2001 12:25:22 +0000 |
parents | de99ce38ad1f |
children | 94aa499ecd39 |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Mon Nov 05 11:33:50 2001 +0000 +++ b/src/protocols/oscar/oscar.c Mon Nov 05 12:25:22 2001 +0000 @@ -229,15 +229,16 @@ static int gaim_parse_searcherror(aim_session_t *, aim_frame_t *, ...); static int gaim_parse_searchreply(aim_session_t *, aim_frame_t *, ...); static int gaim_bosrights (aim_session_t *, aim_frame_t *, ...); -static int rateresp_bos (aim_session_t *, aim_frame_t *, ...); -static int rateresp_auth (aim_session_t *, aim_frame_t *, ...); +static int conninitdone_bos (aim_session_t *sess, aim_frame_t *fr, ...); +static int conninitdone_admin (aim_session_t *sess, aim_frame_t *fr, ...); +static int conninitdone_chat (aim_session_t *sess, aim_frame_t *fr, ...); +static int conninitdone_chatnav (aim_session_t *sess, aim_frame_t *fr, ...); static int gaim_parse_msgerr (aim_session_t *, aim_frame_t *, ...); static int gaim_parse_buddyrights(aim_session_t *, aim_frame_t *, ...); static int gaim_parse_locerr (aim_session_t *, aim_frame_t *, ...); static int gaim_icbm_param_info (aim_session_t *, aim_frame_t *, ...); static int gaim_parse_genericerr (aim_session_t *, aim_frame_t *, ...); static int gaim_memrequest (aim_session_t *, aim_frame_t*, ...); -static int server_ready_bos (aim_session_t *, aim_frame_t*, ...); static int gaim_selfinfo (aim_session_t *, aim_frame_t*, ...); static int gaim_directim_initiate (aim_session_t *, aim_frame_t *, ...); @@ -649,11 +650,9 @@ return 0; } + aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE, conninitdone_bos, 0); aim_conn_addhandler(sess, bosconn, 0x0009, 0x0003, gaim_bosrights, 0); - aim_conn_addhandler(sess, bosconn, 0x0001, 0x0007, rateresp_bos, 0); /* rate info */ aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_ACK, AIM_CB_ACK_ACK, NULL, 0); - aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_SERVERREADY, server_ready_bos, 0); - aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_RATEINFO, NULL, 0); aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_REDIRECT, gaim_handle_redirect, 0); aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_BUD, AIM_CB_BUD_RIGHTSINFO, gaim_parse_buddyrights, 0); aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_BUD, AIM_CB_BUD_ONCOMING, gaim_parse_oncoming, 0); @@ -857,30 +856,18 @@ return 1; } -static int server_ready_auth(aim_session_t *sess, aim_frame_t *fr, ...) { - - aim_setversions(sess, fr->conn); - aim_reqrates(sess, fr->conn); - debug_printf("done with AUTH ServerReady\n"); - - return 1; -} - -static int server_ready_bos(aim_session_t *sess, aim_frame_t *fr, ...) { - aim_setversions(sess, fr->conn); - aim_reqrates(sess, fr->conn); /* request rate info */ - debug_printf("done with BOS ServerReady\n"); - - return 1; -} - -static int rateresp_chat(aim_session_t *sess, aim_frame_t *fr, ...) { +static int conninitdone_chat(aim_session_t *sess, aim_frame_t *fr, ...) { struct gaim_connection *gc = sess->aux_data; struct chat_connection *chatcon; static int id = 1; - aim_ratesack(sess, fr->conn); + aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERJOIN, gaim_chat_join, 0); + aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERLEAVE, gaim_chat_leave, 0); + aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_ROOMINFOUPDATE, gaim_chat_info_update, 0); + aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_INCOMINGMSG, gaim_chat_incoming_msg, 0); + aim_clientready(sess, fr->conn); + chatcon = find_oscar_chat_by_conn(gc, fr->conn); chatcon->id = id; chatcon->cnv = serv_got_joined_chat(gc, id++, chatcon->show); @@ -888,35 +875,13 @@ return 1; } -static int rateresp_chatnav(aim_session_t *sess, aim_frame_t *fr, ...) { - - aim_ratesack(sess, fr->conn); - aim_clientready(sess, fr->conn); - aim_chatnav_reqrights(sess, fr->conn); - - return 1; -} - -static int server_ready_chatnav(aim_session_t *sess, aim_frame_t *fr, ...) { - debug_printf("chatnav: got server ready\n"); - aim_conn_addhandler(sess, fr->conn, 0x0001, 0x0007, rateresp_chatnav, 0); +static int conninitdone_chatnav(aim_session_t *sess, aim_frame_t *fr, ...) { + aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CTN, AIM_CB_CTN_INFO, gaim_chatnav_info, 0); - aim_setversions(sess, fr->conn); - aim_reqrates(sess, fr->conn); - - return 1; -} - -static int server_ready_chat(aim_session_t *sess, aim_frame_t *fr, ...) { - - debug_printf("chat: got server ready\n"); - aim_conn_addhandler(sess, fr->conn, 0x0001, 0x0007, rateresp_chat, 0); - aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERJOIN, gaim_chat_join, 0); - aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERLEAVE, gaim_chat_leave, 0); - aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_ROOMINFOUPDATE, gaim_chat_info_update, 0); - aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_INCOMINGMSG, gaim_chat_incoming_msg, 0); - aim_setversions(sess, fr->conn); - aim_reqrates(sess, fr->conn); + + aim_clientready(sess, fr->conn); + + aim_chatnav_reqrights(sess, fr->conn); return 1; } @@ -1050,8 +1015,7 @@ g_free(host); return 1; } - aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, server_ready_auth, 0); - aim_conn_addhandler(sess, tstconn, 0x0001, 0x0007, rateresp_auth, 0); + aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE, conninitdone_admin, 0); aim_conn_addhandler(sess, tstconn, 0x0007, 0x0003, gaim_info_change, 0); aim_conn_addhandler(sess, tstconn, 0x0007, 0x0005, gaim_info_change, 0); aim_conn_addhandler(sess, tstconn, 0x0007, 0x0007, gaim_account_confirm, 0); @@ -1073,7 +1037,7 @@ g_free(host); return 1; } - aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, server_ready_chatnav, 0); + aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE, conninitdone_chatnav, 0); tstconn->status |= AIM_CONN_STATUS_INPROGRESS; tstconn->fd = proxy_connect(host, port, oscar_chatnav_connect, gc); @@ -1101,7 +1065,8 @@ return 1; } - aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, server_ready_chat, 0); + aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE, conninitdone_chat, 0); + ccon = g_new0(struct chat_connection, 1); ccon->conn = tstconn; ccon->gc = gc; @@ -1934,10 +1899,9 @@ return 1; } -static int rateresp_bos(aim_session_t *sess, aim_frame_t *fr, ...) { +static int conninitdone_bos(aim_session_t *sess, aim_frame_t *fr, ...) { struct gaim_connection *gc = sess->aux_data; - aim_ratesack(sess, fr->conn); aim_bos_reqpersonalinfo(sess, fr->conn); aim_bos_reqlocaterights(sess, fr->conn); aim_bos_setprofile(sess, fr->conn, gc->user->user_info, NULL, gaim_caps); @@ -1961,13 +1925,12 @@ return 1; } -static int rateresp_auth(aim_session_t *sess, aim_frame_t *fr, ...) { +static int conninitdone_admin(aim_session_t *sess, aim_frame_t *fr, ...) { struct gaim_connection *gc = sess->aux_data; struct oscar_data *od = gc->proto_data; - aim_ratesack(sess, fr->conn); aim_clientready(sess, fr->conn); - debug_printf("connected to auth (admin)\n"); + debug_printf("connected to admin\n"); if (od->chpass) { debug_printf("changing password\n");