Mercurial > pidgin.yaz
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 |