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