comparison libpurple/protocols/msn/msn.c @ 32692:0f94ec89f0bc

merged from im.pidgin.pidgin
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 26 Sep 2011 14:57:21 +0900
parents ac6353ffa129 904686722499
children 4a34689eeb33
comparison
equal deleted inserted replaced
32438:55e678325bda 32692:0f94ec89f0bc
117 MsnMessage *msg; 117 MsnMessage *msg;
118 MsnSession *session; 118 MsnSession *session;
119 MsnSwitchBoard *swboard; 119 MsnSwitchBoard *swboard;
120 120
121 msg = msn_message_new_nudge(); 121 msg = msn_message_new_nudge();
122 session = gc->proto_data; 122 session = purple_connection_get_protocol_data(gc);
123 swboard = msn_session_get_swboard(session, username, MSN_SB_FLAG_IM); 123 swboard = msn_session_get_swboard(session, username, MSN_SB_FLAG_IM);
124 124
125 msn_switchboard_send_msg(swboard, msg, TRUE); 125 msn_switchboard_send_msg(swboard, msg, TRUE);
126 msn_message_unref(msg); 126 msn_message_unref(msg);
127 127
334 { 334 {
335 MsnCmdProc *cmdproc; 335 MsnCmdProc *cmdproc;
336 MsnSession *session; 336 MsnSession *session;
337 MsnTransaction *trans; 337 MsnTransaction *trans;
338 338
339 session = gc->proto_data; 339 session = purple_connection_get_protocol_data(gc);
340 cmdproc = session->notification->cmdproc; 340 cmdproc = session->notification->cmdproc;
341 341
342 if (entry == NULL || *entry == '\0') 342 if (entry == NULL || *entry == '\0')
343 { 343 {
344 trans = msn_transaction_new(cmdproc, "PRP", "%s", type); 344 trans = msn_transaction_new(cmdproc, "PRP", "%s", type);
392 MsnUser *user; 392 MsnUser *user;
393 char *payload = NULL; 393 char *payload = NULL;
394 const char *mobile_number = NULL; 394 const char *mobile_number = NULL;
395 gsize payload_len; 395 gsize payload_len;
396 396
397 session = gc->proto_data; 397 session = purple_connection_get_protocol_data(gc);
398 cmdproc = session->notification->cmdproc; 398 cmdproc = session->notification->cmdproc;
399 399
400 page = msn_page_new(); 400 page = msn_page_new();
401 msn_page_set_body(page, entry); 401 msn_page_set_body(page, entry);
402 402
672 { 672 {
673 PurpleConnection *gc; 673 PurpleConnection *gc;
674 MsnSession *session; 674 MsnSession *session;
675 675
676 gc = (PurpleConnection *) action->context; 676 gc = (PurpleConnection *) action->context;
677 session = gc->proto_data; 677 session = purple_connection_get_protocol_data(gc);
678 678
679 purple_request_input(gc, NULL, _("Set your home phone number."), NULL, 679 purple_request_input(gc, NULL, _("Set your home phone number."), NULL,
680 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL, 680 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL,
681 _("OK"), G_CALLBACK(msn_set_home_phone_cb), 681 _("OK"), G_CALLBACK(msn_set_home_phone_cb),
682 _("Cancel"), NULL, 682 _("Cancel"), NULL,
689 { 689 {
690 PurpleConnection *gc; 690 PurpleConnection *gc;
691 MsnSession *session; 691 MsnSession *session;
692 692
693 gc = (PurpleConnection *) action->context; 693 gc = (PurpleConnection *) action->context;
694 session = gc->proto_data; 694 session = purple_connection_get_protocol_data(gc);
695 695
696 purple_request_input(gc, NULL, _("Set your work phone number."), NULL, 696 purple_request_input(gc, NULL, _("Set your work phone number."), NULL,
697 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL, 697 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL,
698 _("OK"), G_CALLBACK(msn_set_work_phone_cb), 698 _("OK"), G_CALLBACK(msn_set_work_phone_cb),
699 _("Cancel"), NULL, 699 _("Cancel"), NULL,
706 { 706 {
707 PurpleConnection *gc; 707 PurpleConnection *gc;
708 MsnSession *session; 708 MsnSession *session;
709 709
710 gc = (PurpleConnection *) action->context; 710 gc = (PurpleConnection *) action->context;
711 session = gc->proto_data; 711 session = purple_connection_get_protocol_data(gc);
712 712
713 purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL, 713 purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL,
714 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL, 714 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL,
715 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb), 715 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb),
716 _("Cancel"), NULL, 716 _("Cancel"), NULL,
744 { 744 {
745 PurpleConnection *pc = (PurpleConnection *) action->context; 745 PurpleConnection *pc = (PurpleConnection *) action->context;
746 MsnSession *session; 746 MsnSession *session;
747 char *title; 747 char *title;
748 748
749 session = pc->proto_data; 749 session = purple_connection_get_protocol_data(pc);
750 750
751 title = g_strdup_printf(_("Blocked Text for %s"), session->account->username); 751 title = g_strdup_printf(_("Blocked Text for %s"), session->account->username);
752 if (session->blocked_text == NULL) { 752 if (session->blocked_text == NULL) {
753 purple_notify_formatted(pc, title, title, NULL, _("No text is blocked for this account."), NULL, NULL); 753 purple_notify_formatted(pc, title, title, NULL, _("No text is blocked for this account."), NULL, NULL);
754 } else { 754 } else {
768 { 768 {
769 PurpleConnection *gc; 769 PurpleConnection *gc;
770 MsnSession *session; 770 MsnSession *session;
771 771
772 gc = (PurpleConnection *) action->context; 772 gc = (PurpleConnection *) action->context;
773 session = gc->proto_data; 773 session = purple_connection_get_protocol_data(gc);
774 774
775 if (!session->passport_info.email_enabled) { 775 if (!session->passport_info.email_enabled) {
776 purple_notify_error(gc, NULL, 776 purple_notify_error(gc, NULL,
777 _("This account does not have email enabled."), NULL); 777 _("This account does not have email enabled."), NULL);
778 return; 778 return;
835 MsnSession *session; 835 MsnSession *session;
836 MsnCmdProc *cmdproc; 836 MsnCmdProc *cmdproc;
837 MsnTransaction *trans; 837 MsnTransaction *trans;
838 838
839 account = purple_connection_get_account(gc); 839 account = purple_connection_get_account(gc);
840 session = gc->proto_data; 840 session = purple_connection_get_protocol_data(gc);
841 cmdproc = session->notification->cmdproc; 841 cmdproc = session->notification->cmdproc;
842 842
843 if (account->perm_deny == PURPLE_PRIVACY_ALLOW_ALL || 843 if (account->perm_deny == PURPLE_PRIVACY_ALLOW_ALL ||
844 account->perm_deny == PURPLE_PRIVACY_DENY_USERS) 844 account->perm_deny == PURPLE_PRIVACY_DENY_USERS)
845 trans = msn_transaction_new(cmdproc, "BLP", "%s", "AL"); 845 trans = msn_transaction_new(cmdproc, "BLP", "%s", "AL");
865 865
866 buddy = (PurpleBuddy *) node; 866 buddy = (PurpleBuddy *) node;
867 account = purple_buddy_get_account(buddy); 867 account = purple_buddy_get_account(buddy);
868 gc = purple_account_get_connection(account); 868 gc = purple_account_get_connection(account);
869 869
870 session = gc->proto_data; 870 session = purple_connection_get_protocol_data(gc);
871 871
872 swboard = msn_switchboard_new(session); 872 swboard = msn_switchboard_new(session);
873 msn_switchboard_request(swboard); 873 msn_switchboard_request(swboard);
874 msn_switchboard_request_add_user(swboard, purple_buddy_get_name(buddy)); 874 msn_switchboard_request_add_user(swboard, purple_buddy_get_name(buddy));
875 875
904 msn_new_xfer(PurpleConnection *gc, const char *who) 904 msn_new_xfer(PurpleConnection *gc, const char *who)
905 { 905 {
906 MsnSession *session; 906 MsnSession *session;
907 PurpleXfer *xfer; 907 PurpleXfer *xfer;
908 908
909 session = gc->proto_data; 909 session = purple_connection_get_protocol_data(gc);
910 910
911 xfer = purple_xfer_new(gc->account, PURPLE_XFER_SEND, who); 911 xfer = purple_xfer_new(gc->account, PURPLE_XFER_SEND, who);
912 912
913 g_return_val_if_fail(xfer != NULL, NULL); 913 g_return_val_if_fail(xfer != NULL, NULL);
914 914
943 normal = g_strdup(msn_normalize(account, purple_account_get_username(account))); 943 normal = g_strdup(msn_normalize(account, purple_account_get_username(account)));
944 ret = strcmp(normal, msn_normalize(account, who)); 944 ret = strcmp(normal, msn_normalize(account, who));
945 g_free(normal); 945 g_free(normal);
946 946
947 if (ret) { 947 if (ret) {
948 MsnSession *session = gc->proto_data; 948 MsnSession *session = purple_connection_get_protocol_data(gc);
949 if (session) { 949 if (session) {
950 MsnUser *user = msn_userlist_find_user(session->userlist, who); 950 MsnUser *user = msn_userlist_find_user(session->userlist, who);
951 if (user) { 951 if (user) {
952 /* Include these too: MSN_CAP_MOBILE_ON|MSN_CAP_WEB_WATCH ? */ 952 /* Include these too: MSN_CAP_MOBILE_ON|MSN_CAP_WEB_WATCH ? */
953 if ((user->clientid & MSN_CAP_VIA_WEBIM) || 953 if ((user->clientid & MSN_CAP_VIA_WEBIM) ||
1241 MsnSession *session; 1241 MsnSession *session;
1242 GList *m = NULL; 1242 GList *m = NULL;
1243 PurplePluginAction *act; 1243 PurplePluginAction *act;
1244 1244
1245 gc = (PurpleConnection *) context; 1245 gc = (PurpleConnection *) context;
1246 session = gc->proto_data; 1246 session = purple_connection_get_protocol_data(gc);
1247 1247
1248 act = purple_plugin_action_new(_("Set Friendly Name..."), 1248 act = purple_plugin_action_new(_("Set Friendly Name..."),
1249 msn_show_set_friendly_name); 1249 msn_show_set_friendly_name);
1250 m = g_list_append(m, act); 1250 m = g_list_append(m, act);
1251 m = g_list_append(m, NULL); 1251 m = g_list_append(m, NULL);
1378 host = purple_account_get_string(account, "server", MSN_SERVER); 1378 host = purple_account_get_string(account, "server", MSN_SERVER);
1379 port = purple_account_get_int(account, "port", MSN_PORT); 1379 port = purple_account_get_int(account, "port", MSN_PORT);
1380 1380
1381 session = msn_session_new(account); 1381 session = msn_session_new(account);
1382 1382
1383 gc->proto_data = session; 1383 purple_connection_set_protocol_data(gc, session);
1384 gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO | PURPLE_CONNECTION_NO_BGCOLOR | 1384 gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO | PURPLE_CONNECTION_NO_BGCOLOR |
1385 PURPLE_CONNECTION_NO_FONTSIZE | PURPLE_CONNECTION_NO_URLDESC | PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY; 1385 PURPLE_CONNECTION_NO_FONTSIZE | PURPLE_CONNECTION_NO_URLDESC | PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY;
1386 1386
1387 msn_session_set_login_step(session, MSN_LOGIN_STEP_START); 1387 msn_session_set_login_step(session, MSN_LOGIN_STEP_START);
1388 1388
1412 static void 1412 static void
1413 msn_close(PurpleConnection *gc) 1413 msn_close(PurpleConnection *gc)
1414 { 1414 {
1415 MsnSession *session; 1415 MsnSession *session;
1416 1416
1417 session = gc->proto_data; 1417 session = purple_connection_get_protocol_data(gc);
1418 1418
1419 g_return_if_fail(session != NULL); 1419 g_return_if_fail(session != NULL);
1420 1420
1421 msn_session_destroy(session); 1421 msn_session_destroy(session);
1422 1422
1423 gc->proto_data = NULL; 1423 purple_connection_set_protocol_data(gc, NULL);
1424 } 1424 }
1425 1425
1426 static gboolean 1426 static gboolean
1427 msn_send_me_im(gpointer data) 1427 msn_send_me_im(gpointer data)
1428 { 1428 {
1483 } 1483 }
1484 1484
1485 static void msn_emoticon_destroy(MsnEmoticon *emoticon) 1485 static void msn_emoticon_destroy(MsnEmoticon *emoticon)
1486 { 1486 {
1487 if (emoticon->obj) 1487 if (emoticon->obj)
1488 msn_object_destroy(emoticon->obj); 1488 msn_object_destroy(emoticon->obj, FALSE);
1489 g_free(emoticon->smile); 1489 g_free(emoticon->smile);
1490 g_free(emoticon); 1490 g_free(emoticon);
1491 } 1491 }
1492 1492
1493 static GSList* msn_msg_grab_emoticons(const char *msg, const char *username) 1493 static GSList* msn_msg_grab_emoticons(const char *msg, const char *username)
1569 1569
1570 purple_debug_info("msn", "send IM {%s} to %s\n", message, who); 1570 purple_debug_info("msn", "send IM {%s} to %s\n", message, who);
1571 account = purple_connection_get_account(gc); 1571 account = purple_connection_get_account(gc);
1572 username = purple_account_get_username(account); 1572 username = purple_account_get_username(account);
1573 1573
1574 session = gc->proto_data; 1574 session = purple_connection_get_protocol_data(gc);
1575 swboard = msn_session_find_swboard(session, who); 1575 swboard = msn_session_find_swboard(session, who);
1576 1576
1577 if (!strncmp("tel:+", who, 5)) { 1577 if (!strncmp("tel:+", who, 5)) {
1578 char *text = purple_markup_strip_html(message); 1578 char *text = purple_markup_strip_html(message);
1579 send_to_mobile(gc, who, text); 1579 send_to_mobile(gc, who, text);
1696 MsnSession *session; 1696 MsnSession *session;
1697 MsnSwitchBoard *swboard; 1697 MsnSwitchBoard *swboard;
1698 MsnMessage *msg; 1698 MsnMessage *msg;
1699 1699
1700 account = purple_connection_get_account(gc); 1700 account = purple_connection_get_account(gc);
1701 session = gc->proto_data; 1701 session = purple_connection_get_protocol_data(gc);
1702 1702
1703 /* 1703 /*
1704 * TODO: I feel like this should be "if (state != PURPLE_TYPING)" 1704 * TODO: I feel like this should be "if (state != PURPLE_TYPING)"
1705 * but this is how it was before, and I don't want to break 1705 * but this is how it was before, and I don't want to break
1706 * anything. --KingAnt 1706 * anything. --KingAnt
1745 1745
1746 gc = purple_account_get_connection(account); 1746 gc = purple_account_get_connection(account);
1747 1747
1748 if (gc != NULL) 1748 if (gc != NULL)
1749 { 1749 {
1750 session = gc->proto_data; 1750 session = purple_connection_get_protocol_data(gc);
1751 msn_change_status(session); 1751 msn_change_status(session);
1752 } 1752 }
1753 } 1753 }
1754 1754
1755 static void 1755 static void
1756 msn_set_idle(PurpleConnection *gc, int idle) 1756 msn_set_idle(PurpleConnection *gc, int idle)
1757 { 1757 {
1758 MsnSession *session; 1758 MsnSession *session;
1759 1759
1760 session = gc->proto_data; 1760 session = purple_connection_get_protocol_data(gc);
1761 1761
1762 msn_change_status(session); 1762 msn_change_status(session);
1763 } 1763 }
1764 1764
1765 /* 1765 /*
1885 msn_rem_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) 1885 msn_rem_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
1886 { 1886 {
1887 MsnSession *session; 1887 MsnSession *session;
1888 MsnUserList *userlist; 1888 MsnUserList *userlist;
1889 1889
1890 session = gc->proto_data; 1890 session = purple_connection_get_protocol_data(gc);
1891 userlist = session->userlist; 1891 userlist = session->userlist;
1892 1892
1893 if (!session->logged_in) 1893 if (!session->logged_in)
1894 return; 1894 return;
1895 1895
1902 { 1902 {
1903 MsnSession *session; 1903 MsnSession *session;
1904 MsnUserList *userlist; 1904 MsnUserList *userlist;
1905 MsnUser *user; 1905 MsnUser *user;
1906 1906
1907 session = gc->proto_data; 1907 session = purple_connection_get_protocol_data(gc);
1908 userlist = session->userlist; 1908 userlist = session->userlist;
1909 user = msn_userlist_find_user(userlist, who); 1909 user = msn_userlist_find_user(userlist, who);
1910 1910
1911 if (!session->logged_in) 1911 if (!session->logged_in)
1912 return; 1912 return;
1930 { 1930 {
1931 MsnSession *session; 1931 MsnSession *session;
1932 MsnUserList *userlist; 1932 MsnUserList *userlist;
1933 MsnUser *user; 1933 MsnUser *user;
1934 1934
1935 session = gc->proto_data; 1935 session = purple_connection_get_protocol_data(gc);
1936 userlist = session->userlist; 1936 userlist = session->userlist;
1937 user = msn_userlist_find_user(userlist, who); 1937 user = msn_userlist_find_user(userlist, who);
1938 1938
1939 if (!session->logged_in) 1939 if (!session->logged_in)
1940 return; 1940 return;
1957 { 1957 {
1958 MsnSession *session; 1958 MsnSession *session;
1959 MsnUserList *userlist; 1959 MsnUserList *userlist;
1960 MsnUser *user; 1960 MsnUser *user;
1961 1961
1962 session = gc->proto_data; 1962 session = purple_connection_get_protocol_data(gc);
1963 userlist = session->userlist; 1963 userlist = session->userlist;
1964 1964
1965 if (!session->logged_in) 1965 if (!session->logged_in)
1966 return; 1966 return;
1967 1967
1980 { 1980 {
1981 MsnSession *session; 1981 MsnSession *session;
1982 MsnUserList *userlist; 1982 MsnUserList *userlist;
1983 MsnUser *user; 1983 MsnUser *user;
1984 1984
1985 session = gc->proto_data; 1985 session = purple_connection_get_protocol_data(gc);
1986 userlist = session->userlist; 1986 userlist = session->userlist;
1987 1987
1988 if (!session->logged_in) 1988 if (!session->logged_in)
1989 return; 1989 return;
1990 1990
2009 const char *who) 2009 const char *who)
2010 { 2010 {
2011 MsnSession *session; 2011 MsnSession *session;
2012 MsnSwitchBoard *swboard; 2012 MsnSwitchBoard *swboard;
2013 2013
2014 session = gc->proto_data; 2014 session = purple_connection_get_protocol_data(gc);
2015 2015
2016 swboard = msn_session_find_swboard_with_id(session, id); 2016 swboard = msn_session_find_swboard_with_id(session, id);
2017 2017
2018 if (swboard == NULL) 2018 if (swboard == NULL)
2019 { 2019 {
2034 { 2034 {
2035 MsnSession *session; 2035 MsnSession *session;
2036 MsnSwitchBoard *swboard; 2036 MsnSwitchBoard *swboard;
2037 PurpleConversation *conv; 2037 PurpleConversation *conv;
2038 2038
2039 session = gc->proto_data; 2039 session = purple_connection_get_protocol_data(gc);
2040 2040
2041 swboard = msn_session_find_swboard_with_id(session, id); 2041 swboard = msn_session_find_swboard_with_id(session, id);
2042 2042
2043 /* if swboard is NULL we were the only person left anyway */ 2043 /* if swboard is NULL we were the only person left anyway */
2044 if (swboard == NULL) 2044 if (swboard == NULL)
2071 MsnEmoticon *smile; 2071 MsnEmoticon *smile;
2072 GSList *smileys; 2072 GSList *smileys;
2073 GString *emoticons = NULL; 2073 GString *emoticons = NULL;
2074 2074
2075 account = purple_connection_get_account(gc); 2075 account = purple_connection_get_account(gc);
2076 session = gc->proto_data; 2076 session = purple_connection_get_protocol_data(gc);
2077 username = purple_account_get_username(account); 2077 username = purple_account_get_username(account);
2078 swboard = msn_session_find_swboard_with_id(session, id); 2078 swboard = msn_session_find_swboard_with_id(session, id);
2079 2079
2080 if (swboard == NULL) 2080 if (swboard == NULL)
2081 return -EINVAL; 2081 return -EINVAL;
2137 msn_keepalive(PurpleConnection *gc) 2137 msn_keepalive(PurpleConnection *gc)
2138 { 2138 {
2139 MsnSession *session; 2139 MsnSession *session;
2140 MsnTransaction *trans; 2140 MsnTransaction *trans;
2141 2141
2142 session = gc->proto_data; 2142 session = purple_connection_get_protocol_data(gc);
2143 2143
2144 if (!session->http_method) 2144 if (!session->http_method)
2145 { 2145 {
2146 MsnCmdProc *cmdproc; 2146 MsnCmdProc *cmdproc;
2147 2147
2155 2155
2156 static void msn_alias_buddy(PurpleConnection *pc, const char *name, const char *alias) 2156 static void msn_alias_buddy(PurpleConnection *pc, const char *name, const char *alias)
2157 { 2157 {
2158 MsnSession *session; 2158 MsnSession *session;
2159 2159
2160 session = pc->proto_data; 2160 session = purple_connection_get_protocol_data(pc);
2161 2161
2162 msn_update_contact(session, name, MSN_UPDATE_ALIAS, alias); 2162 msn_update_contact(session, name, MSN_UPDATE_ALIAS, alias);
2163 } 2163 }
2164 2164
2165 static void 2165 static void
2167 const char *old_group_name, const char *new_group_name) 2167 const char *old_group_name, const char *new_group_name)
2168 { 2168 {
2169 MsnSession *session; 2169 MsnSession *session;
2170 MsnUserList *userlist; 2170 MsnUserList *userlist;
2171 2171
2172 session = gc->proto_data; 2172 session = purple_connection_get_protocol_data(gc);
2173 userlist = session->userlist; 2173 userlist = session->userlist;
2174 2174
2175 msn_userlist_move_buddy(userlist, who, old_group_name, new_group_name); 2175 msn_userlist_move_buddy(userlist, who, old_group_name, new_group_name);
2176 } 2176 }
2177 2177
2180 PurpleGroup *group, GList *moved_buddies) 2180 PurpleGroup *group, GList *moved_buddies)
2181 { 2181 {
2182 MsnSession *session; 2182 MsnSession *session;
2183 const char *gname; 2183 const char *gname;
2184 2184
2185 session = gc->proto_data; 2185 session = purple_connection_get_protocol_data(gc);
2186 2186
2187 g_return_if_fail(session != NULL); 2187 g_return_if_fail(session != NULL);
2188 g_return_if_fail(session->userlist != NULL); 2188 g_return_if_fail(session->userlist != NULL);
2189 2189
2190 gname = purple_group_get_name(group); 2190 gname = purple_group_get_name(group);
2204 { 2204 {
2205 MsnSession *session; 2205 MsnSession *session;
2206 MsnSwitchBoard *swboard; 2206 MsnSwitchBoard *swboard;
2207 PurpleConversation *conv; 2207 PurpleConversation *conv;
2208 2208
2209 session = gc->proto_data; 2209 session = purple_connection_get_protocol_data(gc);
2210 2210
2211 swboard = msn_session_find_swboard(session, who); 2211 swboard = msn_session_find_swboard(session, who);
2212 2212
2213 /* 2213 /*
2214 * Don't perform an assertion here. If swboard is NULL, then the 2214 * Don't perform an assertion here. If swboard is NULL, then the
2240 msn_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img) 2240 msn_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img)
2241 { 2241 {
2242 MsnSession *session; 2242 MsnSession *session;
2243 MsnUser *user; 2243 MsnUser *user;
2244 2244
2245 session = gc->proto_data; 2245 session = purple_connection_get_protocol_data(gc);
2246 user = session->user; 2246 user = session->user;
2247 2247
2248 msn_user_set_buddy_icon(user, img); 2248 msn_user_set_buddy_icon(user, img);
2249 2249
2250 msn_change_status(session); 2250 msn_change_status(session);
2254 msn_remove_group(PurpleConnection *gc, PurpleGroup *group) 2254 msn_remove_group(PurpleConnection *gc, PurpleGroup *group)
2255 { 2255 {
2256 MsnSession *session; 2256 MsnSession *session;
2257 const char *gname; 2257 const char *gname;
2258 2258
2259 session = gc->proto_data; 2259 session = purple_connection_get_protocol_data(gc);
2260 gname = purple_group_get_name(group); 2260 gname = purple_group_get_name(group);
2261 2261
2262 purple_debug_info("msn", "Remove group %s\n", gname); 2262 purple_debug_info("msn", "Remove group %s\n", gname);
2263 /*we can't delete the default group*/ 2263 /*we can't delete the default group*/
2264 if(!strcmp(gname, MSN_INDIVIDUALS_GROUP_NAME)|| 2264 if(!strcmp(gname, MSN_INDIVIDUALS_GROUP_NAME)||
2772 info2_data->photo_url_text = photo_url_text; 2772 info2_data->photo_url_text = photo_url_text;
2773 2773
2774 /* Try to put the photo in there too, if there's one */ 2774 /* Try to put the photo in there too, if there's one */
2775 if (photo_url_text) 2775 if (photo_url_text)
2776 { 2776 {
2777 url_data = purple_util_fetch_url_len(photo_url_text, FALSE, NULL, FALSE, 2777 url_data = purple_util_fetch_url(photo_url_text, FALSE, NULL, FALSE,
2778 MAX_HTTP_BUDDYICON_BYTES, 2778 MAX_HTTP_BUDDYICON_BYTES,
2779 msn_got_photo, info2_data); 2779 msn_got_photo, info2_data);
2780 session->url_datas = g_slist_prepend(session->url_datas, url_data); 2780 session->url_datas = g_slist_prepend(session->url_datas, url_data);
2781 } 2781 }
2782 else 2782 else
2871 2871
2872 url = g_strdup_printf("%s%s", PROFILE_URL, name); 2872 url = g_strdup_printf("%s%s", PROFILE_URL, name);
2873 2873
2874 url_data = purple_util_fetch_url(url, FALSE, 2874 url_data = purple_util_fetch_url(url, FALSE,
2875 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", 2875 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
2876 TRUE, msn_got_info, data); 2876 TRUE, -1, msn_got_info, data);
2877 session->url_datas = g_slist_prepend(session->url_datas, url_data); 2877 session->url_datas = g_slist_prepend(session->url_datas, url_data);
2878 2878
2879 g_free(url); 2879 g_free(url);
2880 } 2880 }
2881 2881
2966 } 2966 }
2967 2967
2968 2968
2969 static PurplePluginProtocolInfo prpl_info = 2969 static PurplePluginProtocolInfo prpl_info =
2970 { 2970 {
2971 sizeof(PurplePluginProtocolInfo), /* struct_size */
2971 OPT_PROTO_MAIL_CHECK|OPT_PROTO_INVITE_MESSAGE, 2972 OPT_PROTO_MAIL_CHECK|OPT_PROTO_INVITE_MESSAGE,
2972 NULL, /* user_splits */ 2973 NULL, /* user_splits */
2973 NULL, /* protocol_options */ 2974 NULL, /* protocol_options */
2974 {"png,gif", 0, 0, 96, 96, 0, PURPLE_ICON_SCALE_SEND}, /* icon_spec */ 2975 {"png,gif", 0, 0, 96, 96, 0, PURPLE_ICON_SCALE_SEND}, /* icon_spec */
2975 msn_list_icon, /* list_icon */ 2976 msn_list_icon, /* list_icon */
2987 msn_send_typing, /* send_typing */ 2988 msn_send_typing, /* send_typing */
2988 msn_get_info, /* get_info */ 2989 msn_get_info, /* get_info */
2989 msn_set_status, /* set_away */ 2990 msn_set_status, /* set_away */
2990 msn_set_idle, /* set_idle */ 2991 msn_set_idle, /* set_idle */
2991 NULL, /* change_passwd */ 2992 NULL, /* change_passwd */
2992 NULL, /* add_buddy */ 2993 msn_add_buddy, /* add_buddy */
2993 NULL, /* add_buddies */ 2994 NULL, /* add_buddies */
2994 msn_rem_buddy, /* remove_buddy */ 2995 msn_rem_buddy, /* remove_buddy */
2995 NULL, /* remove_buddies */ 2996 NULL, /* remove_buddies */
2996 msn_add_permit, /* add_permit */ 2997 msn_add_permit, /* add_permit */
2997 msn_add_deny, /* add_deny */ 2998 msn_add_deny, /* add_deny */
3006 NULL, /* chat_whisper */ 3007 NULL, /* chat_whisper */
3007 msn_chat_send, /* chat_send */ 3008 msn_chat_send, /* chat_send */
3008 msn_keepalive, /* keepalive */ 3009 msn_keepalive, /* keepalive */
3009 NULL, /* register_user */ 3010 NULL, /* register_user */
3010 NULL, /* get_cb_info */ 3011 NULL, /* get_cb_info */
3011 NULL, /* get_cb_away */
3012 msn_alias_buddy, /* alias_buddy */ 3012 msn_alias_buddy, /* alias_buddy */
3013 msn_group_buddy, /* group_buddy */ 3013 msn_group_buddy, /* group_buddy */
3014 msn_rename_group, /* rename_group */ 3014 msn_rename_group, /* rename_group */
3015 NULL, /* buddy_free */ 3015 NULL, /* buddy_free */
3016 msn_convo_closed, /* convo_closed */ 3016 msn_convo_closed, /* convo_closed */
3031 NULL, /* send_raw */ 3031 NULL, /* send_raw */
3032 NULL, /* roomlist_room_serialize */ 3032 NULL, /* roomlist_room_serialize */
3033 NULL, /* unregister_user */ 3033 NULL, /* unregister_user */
3034 msn_send_attention, /* send_attention */ 3034 msn_send_attention, /* send_attention */
3035 msn_attention_types, /* attention_types */ 3035 msn_attention_types, /* attention_types */
3036 sizeof(PurplePluginProtocolInfo), /* struct_size */
3037 msn_get_account_text_table, /* get_account_text_table */ 3036 msn_get_account_text_table, /* get_account_text_table */
3038 NULL, /* initiate_media */ 3037 NULL, /* initiate_media */
3039 NULL, /* get_media_caps */ 3038 NULL, /* get_media_caps */
3040 NULL, /* get_moods */ 3039 NULL, /* get_moods */
3041 msn_set_public_alias, /* set_public_alias */ 3040 msn_set_public_alias, /* set_public_alias */
3042 msn_get_public_alias, /* get_public_alias */ 3041 msn_get_public_alias /* get_public_alias */
3043 msn_add_buddy, /* add_buddy_with_invite */
3044 NULL /* add_buddies_with_invite */
3045 }; 3042 };
3046 3043
3047 static PurplePluginInfo info = 3044 static PurplePluginInfo info =
3048 { 3045 {
3049 PURPLE_PLUGIN_MAGIC, 3046 PURPLE_PLUGIN_MAGIC,