| 359 return; |
359 return; |
| 360 |
360 |
| 361 purple_debug_misc("gg", "ggp_roster_alias_buddy(\"%s\", \"%s\")\n", |
361 purple_debug_misc("gg", "ggp_roster_alias_buddy(\"%s\", \"%s\")\n", |
| 362 who, alias); |
362 who, alias); |
| 363 |
363 |
| 364 buddy = purple_find_buddy(purple_connection_get_account(gc), who); |
364 buddy = purple_blist_find_buddy(purple_connection_get_account(gc), who); |
| 365 g_return_if_fail(buddy != NULL); |
365 g_return_if_fail(buddy != NULL); |
| 366 |
366 |
| 367 ggp_roster_set_synchronized(gc, buddy, FALSE); |
367 ggp_roster_set_synchronized(gc, buddy, FALSE); |
| 368 } |
368 } |
| 369 |
369 |
| 380 |
380 |
| 381 purple_debug_misc("gg", "ggp_roster_group_buddy: " |
381 purple_debug_misc("gg", "ggp_roster_group_buddy: " |
| 382 "who=\"%s\", group=\"%s\" -> \"%s\")\n", |
382 "who=\"%s\", group=\"%s\" -> \"%s\")\n", |
| 383 who, old_group, new_group); |
383 who, old_group, new_group); |
| 384 |
384 |
| 385 // purple_find_buddy(..., who) is not accessible at this moment |
385 // purple_blist_find_buddy(..., who) is not accessible at this moment |
| 386 change->type = GGP_ROSTER_CHANGE_CONTACT_UPDATE; |
386 change->type = GGP_ROSTER_CHANGE_CONTACT_UPDATE; |
| 387 change->data.uin = ggp_str_to_uin(who); |
387 change->data.uin = ggp_str_to_uin(who); |
| 388 rdata->pending_updates = g_list_append(rdata->pending_updates, change); |
388 rdata->pending_updates = g_list_append(rdata->pending_updates, change); |
| 389 } |
389 } |
| 390 |
390 |
| 536 |
536 |
| 537 group_elem = xmlnode_get_next_twin(group_elem); |
537 group_elem = xmlnode_get_next_twin(group_elem); |
| 538 } |
538 } |
| 539 if (group_name) |
539 if (group_name) |
| 540 { |
540 { |
| 541 group = purple_find_group(group_name); |
541 group = purple_blist_find_group(group_name); |
| 542 if (!group) |
542 if (!group) |
| 543 { |
543 { |
| 544 group = purple_group_new(group_name); |
544 group = purple_group_new(group_name); |
| 545 purple_blist_add_group(group, NULL); |
545 purple_blist_add_group(group, NULL); |
| 546 } |
546 } |
| 547 } |
547 } |
| 548 |
548 |
| 549 // add buddy, if doesn't exists |
549 // add buddy, if doesn't exists |
| 550 buddy = purple_find_buddy(account, ggp_uin_to_str(uin)); |
550 buddy = purple_blist_find_buddy(account, ggp_uin_to_str(uin)); |
| 551 g_hash_table_remove(remove_buddies, GINT_TO_POINTER(uin)); |
551 g_hash_table_remove(remove_buddies, GINT_TO_POINTER(uin)); |
| 552 if (!buddy) |
552 if (!buddy) |
| 553 { |
553 { |
| 554 purple_debug_info("gg", "ggp_roster_reply_list_read_buddy: " |
554 purple_debug_info("gg", "ggp_roster_reply_list_read_buddy: " |
| 555 "adding %u (%s) to buddy list\n", uin, alias); |
555 "adding %u (%s) to buddy list\n", uin, alias); |
| 585 "updating %u (%s) - alias=\"%s\"->\"%s\", group=%p->%p (%s)\n", |
585 "updating %u (%s) - alias=\"%s\"->\"%s\", group=%p->%p (%s)\n", |
| 586 uin, purple_buddy_get_name(buddy), |
586 uin, purple_buddy_get_name(buddy), |
| 587 purple_buddy_get_alias(buddy), alias, |
587 purple_buddy_get_alias(buddy), alias, |
| 588 currentGroup, group, group_name); |
588 currentGroup, group, group_name); |
| 589 if (alias_changed) |
589 if (alias_changed) |
| 590 purple_blist_alias_buddy(buddy, alias); |
590 purple_buddy_set_local_alias(buddy, alias); |
| 591 if (currentGroup != group) |
591 if (currentGroup != group) |
| 592 purple_blist_add_buddy(buddy, NULL, group, NULL); |
592 purple_blist_add_buddy(buddy, NULL, group, NULL); |
| 593 |
593 |
| 594 g_free(alias); |
594 g_free(alias); |
| 595 return TRUE; |
595 return TRUE; |
| 664 |
664 |
| 665 // dumping current buddy list |
665 // dumping current buddy list |
| 666 // we will: |
666 // we will: |
| 667 // - remove synchronized ones, if not found in list at server |
667 // - remove synchronized ones, if not found in list at server |
| 668 // - upload not synchronized ones |
668 // - upload not synchronized ones |
| 669 local_buddies = purple_find_buddies(account, NULL); |
669 local_buddies = purple_blist_find_buddies(account, NULL); |
| 670 remove_buddies = g_hash_table_new(g_direct_hash, g_direct_equal); |
670 remove_buddies = g_hash_table_new(g_direct_hash, g_direct_equal); |
| 671 while (local_buddies) |
671 while (local_buddies) |
| 672 { |
672 { |
| 673 PurpleBuddy *buddy = local_buddies->data; |
673 PurpleBuddy *buddy = local_buddies->data; |
| 674 uin_t uin = ggp_str_to_uin(purple_buddy_get_name(buddy)); |
674 uin_t uin = ggp_str_to_uin(purple_buddy_get_name(buddy)); |
| 827 const char *group_id; |
827 const char *group_id; |
| 828 |
828 |
| 829 g_return_val_if_fail(change->type == GGP_ROSTER_CHANGE_CONTACT_UPDATE, |
829 g_return_val_if_fail(change->type == GGP_ROSTER_CHANGE_CONTACT_UPDATE, |
| 830 FALSE); |
830 FALSE); |
| 831 |
831 |
| 832 buddy = purple_find_buddy(account, ggp_uin_to_str(uin)); |
832 buddy = purple_blist_find_buddy(account, ggp_uin_to_str(uin)); |
| 833 if (!buddy) |
833 if (!buddy) |
| 834 return TRUE; |
834 return TRUE; |
| 835 buddy_node = g_hash_table_lookup(content->contact_nodes, |
835 buddy_node = g_hash_table_lookup(content->contact_nodes, |
| 836 GINT_TO_POINTER(uin)); |
836 GINT_TO_POINTER(uin)); |
| 837 |
837 |
| 895 xmlnode *buddy_node; |
895 xmlnode *buddy_node; |
| 896 |
896 |
| 897 g_return_val_if_fail(change->type == GGP_ROSTER_CHANGE_CONTACT_REMOVE, |
897 g_return_val_if_fail(change->type == GGP_ROSTER_CHANGE_CONTACT_REMOVE, |
| 898 FALSE); |
898 FALSE); |
| 899 |
899 |
| 900 buddy = purple_find_buddy(account, ggp_uin_to_str(uin)); |
900 buddy = purple_blist_find_buddy(account, ggp_uin_to_str(uin)); |
| 901 if (buddy) |
901 if (buddy) |
| 902 { |
902 { |
| 903 purple_debug_info("gg", "ggp_roster_send_update_contact_remove:" |
903 purple_debug_info("gg", "ggp_roster_send_update_contact_remove:" |
| 904 " contact %u re-added\n", uin); |
904 " contact %u re-added\n", uin); |
| 905 return TRUE; |
905 return TRUE; |
| 938 if (0 == g_strcmp0(old_name, GGP_PURPLEW_GROUP_DEFAULT) || |
938 if (0 == g_strcmp0(old_name, GGP_PURPLEW_GROUP_DEFAULT) || |
| 939 0 == g_strcmp0(new_name, GGP_PURPLEW_GROUP_DEFAULT)) |
939 0 == g_strcmp0(new_name, GGP_PURPLEW_GROUP_DEFAULT)) |
| 940 { |
940 { |
| 941 PurpleGroup *group; |
941 PurpleGroup *group; |
| 942 GList *group_buddies; |
942 GList *group_buddies; |
| 943 group = purple_find_group(new_name); |
943 group = purple_blist_find_group(new_name); |
| 944 if (!group) |
944 if (!group) |
| 945 return TRUE; |
945 return TRUE; |
| 946 purple_debug_info("gg", "ggp_roster_send_update_group_rename: " |
946 purple_debug_info("gg", "ggp_roster_send_update_group_rename: " |
| 947 "invalidating buddies in default group\n"); |
947 "invalidating buddies in default group\n"); |
| 948 group_buddies = ggp_purplew_group_get_buddies(group, account); |
948 group_buddies = ggp_purplew_group_get_buddies(group, account); |
| 1056 updates_it = g_list_next(updates_it); |
1056 updates_it = g_list_next(updates_it); |
| 1057 |
1057 |
| 1058 if (change->type != GGP_ROSTER_CHANGE_CONTACT_UPDATE) |
1058 if (change->type != GGP_ROSTER_CHANGE_CONTACT_UPDATE) |
| 1059 continue; |
1059 continue; |
| 1060 |
1060 |
| 1061 buddy = purple_find_buddy(account, |
1061 buddy = purple_blist_find_buddy(account, |
| 1062 ggp_uin_to_str(change->data.uin)); |
1062 ggp_uin_to_str(change->data.uin)); |
| 1063 if (buddy) |
1063 if (buddy) |
| 1064 ggp_roster_set_synchronized(gc, buddy, TRUE); |
1064 ggp_roster_set_synchronized(gc, buddy, TRUE); |
| 1065 } |
1065 } |
| 1066 |
1066 |
| 1074 updates_it = g_list_next(updates_it); |
1074 updates_it = g_list_next(updates_it); |
| 1075 |
1075 |
| 1076 if (change->type != GGP_ROSTER_CHANGE_CONTACT_UPDATE) |
1076 if (change->type != GGP_ROSTER_CHANGE_CONTACT_UPDATE) |
| 1077 continue; |
1077 continue; |
| 1078 |
1078 |
| 1079 buddy = purple_find_buddy(account, |
1079 buddy = purple_blist_find_buddy(account, |
| 1080 ggp_uin_to_str(change->data.uin)); |
1080 ggp_uin_to_str(change->data.uin)); |
| 1081 if (buddy && ggp_roster_is_synchronized(buddy)) |
1081 if (buddy && ggp_roster_is_synchronized(buddy)) |
| 1082 ggp_roster_set_synchronized(gc, buddy, FALSE); |
1082 ggp_roster_set_synchronized(gc, buddy, FALSE); |
| 1083 } |
1083 } |
| 1084 |
1084 |