Mercurial > pidgin.yaz
comparison libpurple/protocols/qq/buddy_opt.c @ 24073:df699d739b8f
2008.10.03 - ccpaging <ccpaging(at)gmail.com>
* 2007 protocol:
1. fixed 'get room info'
2. fixed 'get buddy level'
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:46:44 +0000 |
parents | dc112387190f |
children | a95c7e71064c |
comparison
equal
deleted
inserted
replaced
24072:efd4a0e6dd86 | 24073:df699d739b8f |
---|---|
544 q_bud->uid = uid; | 544 q_bud->uid = uid; |
545 buddy->proto_data = q_bud; | 545 buddy->proto_data = q_bud; |
546 qd->buddies = g_list_append(qd->buddies, q_bud); | 546 qd->buddies = g_list_append(qd->buddies, q_bud); |
547 qq_request_buddy_info(gc, qd->uid, 0, 0); | 547 qq_request_buddy_info(gc, qd->uid, 0, 0); |
548 qq_request_get_buddies_online(gc, 0, 0); | 548 qq_request_get_buddies_online(gc, 0, 0); |
549 qq_request_get_level(gc, qd->uid); | 549 if (qd->client_version >= 2007) { |
550 qq_request_get_level_2007(gc, q_bud->uid); | |
551 } else { | |
552 qq_request_get_level(gc, q_bud->uid); | |
553 } | |
550 } | 554 } |
551 | 555 |
552 purple_blist_add_buddy(buddy, NULL, group, NULL); | 556 purple_blist_add_buddy(buddy, NULL, group, NULL); |
553 purple_debug_warning("QQ", "Add new buddy: [%s]\n", buddy_name); | 557 purple_debug_warning("QQ", "Add new buddy: [%s]\n", buddy_name); |
554 | 558 |
555 g_free(buddy_name); | 559 g_free(buddy_name); |
556 g_free(group_name); | 560 g_free(group_name); |
557 | 561 |
558 return buddy; | 562 return buddy; |
563 } | |
564 | |
565 qq_buddy *qq_get_buddy(PurpleConnection *gc, guint32 uid) | |
566 { | |
567 gchar *purple_name; | |
568 PurpleBuddy *purple_buddy; | |
569 | |
570 g_return_val_if_fail(gc != NULL, NULL); | |
571 purple_name = uid_to_purple_name(uid); | |
572 if (purple_name == NULL) return NULL; | |
573 | |
574 purple_buddy = purple_find_buddy(purple_connection_get_account(gc), purple_name); | |
575 g_free(purple_name); | |
576 if (purple_buddy == NULL) return NULL; | |
577 | |
578 if (purple_buddy->proto_data == NULL) { | |
579 purple_debug_error("QQ", "Null data of buddy %d\n", uid); | |
580 return NULL; | |
581 } | |
582 return (qq_buddy *) purple_buddy->proto_data; | |
559 } | 583 } |
560 | 584 |
561 /* remove a buddy and send packet to QQ server accordingly */ | 585 /* remove a buddy and send packet to QQ server accordingly */ |
562 void qq_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) | 586 void qq_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) |
563 { | 587 { |