Mercurial > pidgin
comparison libgaim/protocols/qq/group_opt.c @ 14404:8ff8f1c897b5
[gaim-migrate @ 17112]
Fixed chat support.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Huetsch <markhuetsch> |
---|---|
date | Fri, 01 Sep 2006 11:03:18 +0000 |
parents | 85f3808ca472 |
children | 6b8bc59414f0 |
comparison
equal
deleted
inserted
replaced
14403:646dcf11b4eb | 14404:8ff8f1c897b5 |
---|---|
24 #include "notify.h" | 24 #include "notify.h" |
25 #include "request.h" | 25 #include "request.h" |
26 | 26 |
27 #include "buddy_info.h" | 27 #include "buddy_info.h" |
28 #include "char_conv.h" | 28 #include "char_conv.h" |
29 /*#include "group_admindlg.h" */ | |
30 #include "group_find.h" | 29 #include "group_find.h" |
31 #include "group_hash.h" | 30 #include "group_internal.h" |
32 #include "group_info.h" | 31 #include "group_info.h" |
33 #include "group_join.h" | 32 #include "group_join.h" |
34 #include "group_network.h" | 33 #include "group_network.h" |
35 #include "group_opt.h" | 34 #include "group_opt.h" |
36 #include "packet_parse.h" | 35 #include "packet_parse.h" |
106 | 105 |
107 static void _qq_group_reject_application_real(group_member_opt *g, gchar *msg_utf8) | 106 static void _qq_group_reject_application_real(group_member_opt *g, gchar *msg_utf8) |
108 { | 107 { |
109 qq_group *group; | 108 qq_group *group; |
110 g_return_if_fail(g != NULL && g->gc != NULL && g->internal_group_id > 0 && g->member > 0); | 109 g_return_if_fail(g != NULL && g->gc != NULL && g->internal_group_id > 0 && g->member > 0); |
111 group = qq_group_find_by_internal_group_id(g->gc, g->internal_group_id); | 110 group = qq_group_find_by_id(g->gc, g->internal_group_id, QQ_INTERNAL_ID); |
112 g_return_if_fail(group != NULL); | 111 g_return_if_fail(group != NULL); |
113 qq_send_cmd_group_auth(g->gc, group, QQ_GROUP_AUTH_REQUEST_REJECT, g->member, msg_utf8); | 112 qq_send_cmd_group_auth(g->gc, group, QQ_GROUP_AUTH_REQUEST_REJECT, g->member, msg_utf8); |
114 g_free(g); | 113 g_free(g); |
115 } | 114 } |
116 | 115 |
146 | 145 |
147 void qq_group_approve_application_with_struct(group_member_opt *g) | 146 void qq_group_approve_application_with_struct(group_member_opt *g) |
148 { | 147 { |
149 qq_group *group; | 148 qq_group *group; |
150 g_return_if_fail(g != NULL && g->gc != NULL && g->internal_group_id > 0 && g->member > 0); | 149 g_return_if_fail(g != NULL && g->gc != NULL && g->internal_group_id > 0 && g->member > 0); |
151 group = qq_group_find_by_internal_group_id(g->gc, g->internal_group_id); | 150 group = qq_group_find_by_id(g->gc, g->internal_group_id, QQ_INTERNAL_ID); |
152 g_return_if_fail(group != NULL); | 151 g_return_if_fail(group != NULL); |
153 qq_send_cmd_group_auth(g->gc, group, QQ_GROUP_AUTH_REQUEST_APPROVE, g->member, ""); | 152 qq_send_cmd_group_auth(g->gc, group, QQ_GROUP_AUTH_REQUEST_APPROVE, g->member, ""); |
154 qq_group_find_or_add_member(g->gc, group, g->member); | 153 qq_group_find_or_add_member(g->gc, group, g->member); |
155 g_free(g); | 154 g_free(g); |
156 } | 155 } |
219 | 218 |
220 read_packet_dw(data, cursor, len, &internal_group_id); | 219 read_packet_dw(data, cursor, len, &internal_group_id); |
221 g_return_if_fail(internal_group_id > 0); | 220 g_return_if_fail(internal_group_id > 0); |
222 | 221 |
223 /* we should have its info locally */ | 222 /* we should have its info locally */ |
224 group = qq_group_find_by_internal_group_id(gc, internal_group_id); | 223 group = qq_group_find_by_id(gc, internal_group_id, QQ_INTERNAL_ID); |
225 g_return_if_fail(group != NULL); | 224 g_return_if_fail(group != NULL); |
226 | 225 |
227 gaim_debug(GAIM_DEBUG_INFO, "QQ", "Succeed in modify members for Qun %d\n", group->external_group_id); | 226 gaim_debug(GAIM_DEBUG_INFO, "QQ", "Succeed in modify members for Qun %d\n", group->external_group_id); |
228 | 227 |
229 gaim_notify_info(gc, _("QQ Qun Operation"), _("You have successfully modify Qun member"), NULL); | 228 gaim_notify_info(gc, _("QQ Qun Operation"), _("You have successfully modify Qun member"), NULL); |
288 | 287 |
289 read_packet_dw(data, cursor, len, &internal_group_id); | 288 read_packet_dw(data, cursor, len, &internal_group_id); |
290 g_return_if_fail(internal_group_id > 0); | 289 g_return_if_fail(internal_group_id > 0); |
291 | 290 |
292 /* we should have its info locally */ | 291 /* we should have its info locally */ |
293 group = qq_group_find_by_internal_group_id(gc, internal_group_id); | 292 group = qq_group_find_by_id(gc, internal_group_id, QQ_INTERNAL_ID); |
294 g_return_if_fail(group != NULL); | 293 g_return_if_fail(group != NULL); |
295 | 294 |
296 gaim_debug(GAIM_DEBUG_INFO, "QQ", "Succeed in modify info for Qun %d\n", group->external_group_id); | 295 gaim_debug(GAIM_DEBUG_INFO, "QQ", "Succeed in modify info for Qun %d\n", group->external_group_id); |
297 qq_group_refresh(gc, group); | 296 qq_group_refresh(gc, group); |
298 | 297 |
343 static void qq_group_setup_with_gc_and_uid(gc_and_uid *g) | 342 static void qq_group_setup_with_gc_and_uid(gc_and_uid *g) |
344 { | 343 { |
345 qq_group *group; | 344 qq_group *group; |
346 g_return_if_fail(g != NULL && g->gc != NULL && g->uid > 0); | 345 g_return_if_fail(g != NULL && g->gc != NULL && g->uid > 0); |
347 | 346 |
348 group = qq_group_find_by_internal_group_id(g->gc, g->uid); | 347 group = qq_group_find_by_id(g->gc, g->uid, QQ_INTERNAL_ID); |
349 g_return_if_fail(group != NULL); | 348 g_return_if_fail(group != NULL); |
350 | 349 |
351 /* XXX insert UI code here */ | 350 /* TODO insert UI code here */ |
352 /* qq_group_detail_window_show(g->gc, group); */ | 351 /* qq_group_detail_window_show(g->gc, group); */ |
353 g_free(g); | 352 g_free(g); |
354 } | 353 } |
355 | 354 |
356 void qq_group_process_create_group_reply(guint8 *data, guint8 **cursor, gint len, GaimConnection *gc) | 355 void qq_group_process_create_group_reply(guint8 *data, guint8 **cursor, gint len, GaimConnection *gc) |
366 | 365 |
367 read_packet_dw(data, cursor, len, &internal_group_id); | 366 read_packet_dw(data, cursor, len, &internal_group_id); |
368 read_packet_dw(data, cursor, len, &external_group_id); | 367 read_packet_dw(data, cursor, len, &external_group_id); |
369 g_return_if_fail(internal_group_id > 0 && external_group_id); | 368 g_return_if_fail(internal_group_id > 0 && external_group_id); |
370 | 369 |
371 group = qq_group_create_by_id(gc, internal_group_id, external_group_id); | 370 group = qq_group_create_internal_record(gc, internal_group_id, external_group_id, NULL); |
372 group->my_status = QQ_GROUP_MEMBER_STATUS_IS_ADMIN; | 371 group->my_status = QQ_GROUP_MEMBER_STATUS_IS_ADMIN; |
373 group->creator_uid = qd->uid; | 372 group->creator_uid = qd->uid; |
374 qq_group_refresh(gc, group); | 373 qq_group_refresh(gc, group); |
375 | 374 |
376 qq_group_activate_group(gc, internal_group_id); | 375 qq_group_activate_group(gc, internal_group_id); |
425 | 424 |
426 read_packet_dw(data, cursor, len, &internal_group_id); | 425 read_packet_dw(data, cursor, len, &internal_group_id); |
427 g_return_if_fail(internal_group_id > 0); | 426 g_return_if_fail(internal_group_id > 0); |
428 | 427 |
429 /* we should have its info locally */ | 428 /* we should have its info locally */ |
430 group = qq_group_find_by_internal_group_id(gc, internal_group_id); | 429 group = qq_group_find_by_id(gc, internal_group_id, QQ_INTERNAL_ID); |
431 g_return_if_fail(group != NULL); | 430 g_return_if_fail(group != NULL); |
432 | 431 |
433 gaim_debug(GAIM_DEBUG_INFO, "QQ", "Succeed in activate Qun %d\n", group->external_group_id); | 432 gaim_debug(GAIM_DEBUG_INFO, "QQ", "Succeed in activate Qun %d\n", group->external_group_id); |
434 } | 433 } |
435 | 434 |
443 | 442 |
444 internal_group_id_ptr = g_hash_table_lookup(data, "internal_group_id"); | 443 internal_group_id_ptr = g_hash_table_lookup(data, "internal_group_id"); |
445 internal_group_id = strtol(internal_group_id_ptr, NULL, 10); | 444 internal_group_id = strtol(internal_group_id_ptr, NULL, 10); |
446 g_return_if_fail(internal_group_id > 0); | 445 g_return_if_fail(internal_group_id > 0); |
447 | 446 |
448 group = qq_group_find_by_internal_group_id(gc, internal_group_id); | 447 group = qq_group_find_by_id(gc, internal_group_id, QQ_INTERNAL_ID); |
449 g_return_if_fail(group != NULL); | 448 g_return_if_fail(group != NULL); |
450 | 449 |
451 /* XXX insert UI code here */ | 450 /* XXX insert UI code here */ |
452 /* qq_group_detail_window_show(gc, group); */ | 451 /* qq_group_detail_window_show(gc, group); */ |
453 } | 452 } |