comparison libpurple/protocols/qq/group_info.c @ 24085:237e5a94e11c

2008.10.08 - ccpaging <ccpaging(at)gmail.com> * Update group part * Delete some meaningless functions and data * Added 'change my icon' 2008.10.08 - lonicerae <lonicerae(at)gmail.com> * Merge 20081008 patch into trunk
author SHiNE CsyFeK <csyfek@gmail.com>
date Wed, 22 Oct 2008 15:08:30 +0000
parents 818ab62006f5
children 3c52353b83ae
comparison
equal deleted inserted replaced
24084:340fc40fe4ef 24085:237e5a94e11c
26 26
27 #include "conversation.h" 27 #include "conversation.h"
28 #include "debug.h" 28 #include "debug.h"
29 29
30 #include "char_conv.h" 30 #include "char_conv.h"
31 #include "group_im.h"
31 #include "group_find.h" 32 #include "group_find.h"
32 #include "group_internal.h" 33 #include "group_internal.h"
33 #include "group_info.h" 34 #include "group_info.h"
34 #include "buddy_list.h" 35 #include "buddy_list.h"
35 #include "qq_define.h" 36 #include "qq_define.h"
144 qq_data *qd; 145 qq_data *qd;
145 PurpleConversation *conv; 146 PurpleConversation *conv;
146 guint8 organization, role; 147 guint8 organization, role;
147 guint16 unknown, max_members; 148 guint16 unknown, max_members;
148 guint32 member_uid, id, ext_id; 149 guint32 member_uid, id, ext_id;
149 GSList *pending_id;
150 guint32 unknown4; 150 guint32 unknown4;
151 guint8 unknown1; 151 guint8 unknown1;
152 gint bytes, num; 152 gint bytes, num;
153 gchar *notice; 153 gchar *notice;
154 gchar *topic_utf8; 154 gchar *topic_utf8;
163 g_return_if_fail(id > 0); 163 g_return_if_fail(id > 0);
164 164
165 bytes += qq_get32(&ext_id, data + bytes); 165 bytes += qq_get32(&ext_id, data + bytes);
166 g_return_if_fail(ext_id > 0); 166 g_return_if_fail(ext_id > 0);
167 167
168 pending_id = qq_get_pending_id(qd->adding_groups_from_server, id); 168 if (action == QQ_ROOM_INFO_CREATE ) {
169 if (pending_id != NULL) {
170 qq_set_pending_id(&qd->adding_groups_from_server, id, FALSE);
171 qq_group_create_internal_record(gc, id, ext_id, NULL); 169 qq_group_create_internal_record(gc, id, ext_id, NULL);
172 } 170 }
173 171
174 group = qq_room_search_id(gc, id); 172 group = qq_room_search_id(gc, id);
175 g_return_if_fail(group != NULL); 173 g_return_if_fail(group != NULL);
297 purple_debug_error("QQ", 295 purple_debug_error("QQ",
298 "group_cmd_get_online_members: Dangerous error! maybe protocol changed, notify developers!"); 296 "group_cmd_get_online_members: Dangerous error! maybe protocol changed, notify developers!");
299 } 297 }
300 298
301 purple_debug_info("QQ", "Group \"%s\" has %d online members\n", group->title_utf8, num); 299 purple_debug_info("QQ", "Group \"%s\" has %d online members\n", group->title_utf8, num);
300 qq_room_conv_set_onlines(gc, group);
302 } 301 }
303 302
304 /* process the reply to get_members_info packet */ 303 /* process the reply to get_members_info packet */
305 void qq_process_room_cmd_get_buddies(guint8 *data, gint len, PurpleConnection *gc) 304 void qq_process_room_cmd_get_buddies(guint8 *data, gint len, PurpleConnection *gc)
306 { 305 {
356 if (bytes > len) { 355 if (bytes > len) {
357 purple_debug_error("QQ", 356 purple_debug_error("QQ",
358 "group_cmd_get_members_info: Dangerous error! maybe protocol changed, notify developers!"); 357 "group_cmd_get_members_info: Dangerous error! maybe protocol changed, notify developers!");
359 } 358 }
360 purple_debug_info("QQ", "Group \"%s\" obtained %d member info\n", group->title_utf8, num); 359 purple_debug_info("QQ", "Group \"%s\" obtained %d member info\n", group->title_utf8, num);
361 } 360
362 361 group->is_got_buddies = TRUE;
362 qq_room_conv_set_onlines(gc, group);
363 }
364