Mercurial > pidgin
diff libpurple/protocols/qq/qq_process.c @ 24113:5c030dc88356
merge of '035bfdb2d9357e8feaf49c1fea3daa75cd90d74d'
and 'e0d4adfcd908978bcad627bd8212730ce8775292'
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Mon, 15 Sep 2008 03:05:34 +0000 |
parents | fb8204e956a1 6408be948d56 |
children | 225e0e9e1055 |
line wrap: on
line diff
--- a/libpurple/protocols/qq/qq_process.c Mon Sep 15 03:05:11 2008 +0000 +++ b/libpurple/protocols/qq/qq_process.c Mon Sep 15 03:05:34 2008 +0000 @@ -60,7 +60,7 @@ }; /* default process, decrypt and dump */ -static void process_cmd_unknow(PurpleConnection *gc,const gchar *title, guint8 *data, gint data_len, guint16 cmd, guint16 seq) +static void process_cmd_unknow(PurpleConnection *gc,gchar *title, guint8 *data, gint data_len, guint16 cmd, guint16 seq) { qq_data *qd; gchar *msg_utf8 = NULL; @@ -77,13 +77,13 @@ seq, qq_get_cmd_desc(cmd)); msg_utf8 = try_dump_as_gbk(data, data_len); - if (msg_utf8 != NULL) { - purple_notify_info(gc, title, msg_utf8, NULL); + if (msg_utf8) { + purple_notify_info(gc, NULL, msg_utf8, NULL); g_free(msg_utf8); } } -void qq_proc_server_cmd(PurpleConnection *gc, guint16 cmd, guint16 seq, guint8 *rcved, gint rcved_len) +void qq_proc_cmd_server(PurpleConnection *gc, guint16 cmd, guint16 seq, guint8 *rcved, gint rcved_len) { qq_data *qd; @@ -122,7 +122,7 @@ qq_process_buddy_change_status(data, data_len, gc); break; default: - process_cmd_unknow(gc, _("Unknow SERVER CMD"), data, data_len, cmd, seq); + process_cmd_unknow(gc, "Unknow SERVER CMD", data, data_len, cmd, seq); break; } } @@ -145,7 +145,7 @@ g_free(msg_utf8); } -void qq_update_room(PurpleConnection *gc, guint8 room_cmd, guint32 room_id) +void qq_room_update(PurpleConnection *gc, guint8 room_cmd, guint32 room_id) { qq_data *qd; qq_group *group; @@ -198,7 +198,8 @@ next_group = qq_room_get_next(gc, room_id); if (next_group == NULL && room_id <= 0) { - purple_debug_info("QQ", "No room. Finished update\n"); + purple_debug_info("QQ", "No room, nothing update\n"); + qd->is_finish_update = TRUE; return; } if (next_group == NULL ) { @@ -225,7 +226,7 @@ if (!is_new_turn) { qq_request_room_get_buddies(gc, next_group, QQ_CMD_CLASS_UPDATE_ALL); } else { - purple_debug_info("QQ", "Finished update\n"); + qd->is_finish_update = TRUE; } break; default: @@ -244,7 +245,7 @@ case 0: qq_request_buddy_info(gc, qd->uid, QQ_CMD_CLASS_UPDATE_ALL, QQ_BUDDY_INFO_UPDATE_ONLY); break; - case QQ_CMD_GET_BUDDY_INFO: + case QQ_CMD_GET_USER_INFO: qq_request_change_status(gc, QQ_CMD_CLASS_UPDATE_ALL); break; case QQ_CMD_CHANGE_STATUS: @@ -254,7 +255,7 @@ qq_request_get_buddies_and_rooms(gc, 0, QQ_CMD_CLASS_UPDATE_ALL); break; case QQ_CMD_GET_BUDDIES_AND_ROOMS: - qq_request_get_buddies_level(gc, QQ_CMD_CLASS_UPDATE_ALL); + qq_request_get_buddies_levels(gc, QQ_CMD_CLASS_UPDATE_ALL); break; case QQ_CMD_GET_LEVEL: qq_request_get_buddies_online(gc, 0, QQ_CMD_CLASS_UPDATE_ALL); @@ -278,11 +279,11 @@ next_group = qq_room_get_next_conv(gc, room_id); if (next_group == NULL && room_id <= 0) { - purple_debug_info("QQ", "No room in conversation, no update online buddies\n"); + purple_debug_info("QQ", "No room, no update online buddies\n"); return; } if (next_group == NULL ) { - purple_debug_info("QQ", "finished update rooms' online buddies\n"); + purple_debug_info("QQ", "finished update online buddies\n"); return; } @@ -315,7 +316,7 @@ } } -void qq_proc_room_cmd(PurpleConnection *gc, guint16 seq, +void qq_proc_room_cmd_reply(PurpleConnection *gc, guint16 seq, guint8 room_cmd, guint32 room_id, guint8 *rcved, gint rcved_len, gint update_class, guint32 ship32) { @@ -444,9 +445,6 @@ reply_cmd, qq_get_room_cmd_desc(reply_cmd)); } - if (update_class == QQ_CMD_CLASS_NONE) - return; - purple_debug_info("QQ", "Update class %d\n", update_class); if (update_class == QQ_CMD_CLASS_UPDATE_ALL) { update_all_rooms(gc, room_cmd, room_id); @@ -457,11 +455,11 @@ return; } if (update_class == QQ_CMD_CLASS_UPDATE_ROOM) { - qq_update_room(gc, room_cmd, room_id); + qq_room_update(gc, room_cmd, room_id); } } -void qq_proc_login_cmd(PurpleConnection *gc, guint8 *rcved, gint rcved_len) +void qq_proc_cmd_login(PurpleConnection *gc, guint8 *rcved, gint rcved_len) { qq_data *qd; guint8 *data; @@ -505,14 +503,11 @@ /* Now goes on updating my icon/nickname, not showing info_window */ qd->modifying_face = FALSE; - /* is_login, but we have packets before login */ - qq_trans_process_remained(gc); - qq_update_all(gc, 0); return; } -void qq_proc_client_cmd(PurpleConnection *gc, guint16 cmd, guint16 seq, +void qq_proc_cmd_reply(PurpleConnection *gc, guint16 cmd, guint16 seq, guint8 *rcved, gint rcved_len, gint update_class, guint32 ship32) { qq_data *qd; @@ -563,8 +558,8 @@ case QQ_CMD_BUDDY_AUTH: qq_process_add_buddy_auth_reply(data, data_len, gc); break; - case QQ_CMD_GET_BUDDY_INFO: - qq_process_get_buddy_info(data, data_len, gc); + case QQ_CMD_GET_USER_INFO: + qq_process_get_info_reply(data, data_len, gc); break; case QQ_CMD_CHANGE_STATUS: qq_process_change_status_reply(data, data_len, gc); @@ -607,7 +602,7 @@ purple_debug_info("QQ", "All buddies and groups received\n"); break; default: - process_cmd_unknow(gc, _("Unknow reply CMD"), data, data_len, cmd, seq); + process_cmd_unknow(gc, "Unknow reply CMD", data, data_len, cmd, seq); is_unknow = TRUE; break; }