libpurple/protocols/yahoo/yahoo.h

Sun, 13 Jan 2008 01:00:29 +0000

author
John Bailey <rekkanoryo@rekkanoryo.org>
date
Sun, 13 Jan 2008 01:00:29 +0000
changeset 22220
e1ef8feb6199
parent 22202
e42ab2e3eba1
child 22242
f2efb6941859
permissions
-rw-r--r--

From what little I could see, it appears that for Yahoo Japan there is only
one valid roomlist URL and locale, so make it work instead of forcing users
to edit their accounts.xml to change the setting from the default. This
should fix #1369 without breaking anything. It also has the side effect of
(in my opinion) cleaning the code up a bit.

6513
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
1 /**
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
2 * @file yahoo.h The Yahoo! protocol plugin
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
4 * purple
6513
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8045
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8045
diff changeset
8 * source distribution.
6513
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
9 *
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
13 * (at your option) any later version.
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
14 *
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
18 * GNU General Public License for more details.
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
19 *
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19716
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
6513
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
23 */
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
24
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
25 #ifndef _YAHOO_H_
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
26 #define _YAHOO_H_
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
27
14013
86dac5633bd9 [gaim-migrate @ 16496]
Mark Doliner <markdoliner@pidgin.im>
parents: 13851
diff changeset
28 #include "circbuffer.h"
6784
6623b18f188a [gaim-migrate @ 7323]
Tim Ringenbach <marv@pidgin.im>
parents: 6729
diff changeset
29 #include "prpl.h"
6623b18f188a [gaim-migrate @ 7323]
Tim Ringenbach <marv@pidgin.im>
parents: 6729
diff changeset
30
7883
02cf91894bcf [gaim-migrate @ 8537]
Tim Ringenbach <marv@pidgin.im>
parents: 7827
diff changeset
31 #define YAHOO_PAGER_HOST "scs.msg.yahoo.com"
7827
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
32 #define YAHOO_PAGER_PORT 5050
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
33 #define YAHOO_PROFILE_URL "http://profiles.yahoo.com/"
13689
70b7618b1916 [gaim-migrate @ 16090]
Richard Laager <rlaager@pidgin.im>
parents: 13201
diff changeset
34 #define YAHOO_MAIL_URL "https://login.yahoo.com/config/login?.src=ym"
7651
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
35 #define YAHOO_XFER_HOST "filetransfer.msg.yahoo.com"
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
36 #define YAHOO_XFER_PORT 80
22202
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
37 #define YAHOO_XFER_RELAY_HOST "relay.msg.yahoo.com"
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
38 #define YAHOO_XFER_RELAY_PORT 80
8113
6a2ffc66c022 [gaim-migrate @ 8817]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
39 #define YAHOO_ROOMLIST_URL "http://insider.msg.yahoo.com/ycontent/"
11160
c216000381d7 [gaim-migrate @ 13248]
Daniel Atallah <datallah@pidgin.im>
parents: 11046
diff changeset
40 #define YAHOO_ROOMLIST_LOCALE "us"
9164
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
41 /* really we should get the list of servers from
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
42 http://update.messenger.yahoo.co.jp/servers.html */
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
43 #define YAHOOJP_PAGER_HOST "cs.yahoo.co.jp"
9221
cae2261ba6f2 [gaim-migrate @ 10017]
Ambrose Li <ambrose.li@gmail.com>
parents: 9220
diff changeset
44 #define YAHOOJP_PROFILE_URL "http://profiles.yahoo.co.jp/"
cae2261ba6f2 [gaim-migrate @ 10017]
Ambrose Li <ambrose.li@gmail.com>
parents: 9220
diff changeset
45 #define YAHOOJP_MAIL_URL "http://mail.yahoo.co.jp/"
9164
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
46 #define YAHOOJP_XFER_HOST "filetransfer.msg.yahoo.co.jp"
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
47 #define YAHOOJP_WEBCAM_HOST "wc.yahoo.co.jp"
22202
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
48 /*not sure, must test:*/
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
49 #define YAHOOJP_XFER_RELAY_HOST "relay.msg.yahoo.com"
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
50 #define YAHOOJP_XFER_RELAY_PORT 80
22220
e1ef8feb6199 From what little I could see, it appears that for Yahoo Japan there is only
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22202
diff changeset
51 #define YAHOOJP_ROOMLIST_URL "http://insider.msg.yahoo.co.jp/ycontent/"
e1ef8feb6199 From what little I could see, it appears that for Yahoo Japan there is only
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22202
diff changeset
52 #define YAHOOJP_ROOMLIST_LOCALE "ja"
9164
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
53
12798
f8d553043aee [gaim-migrate @ 15145]
Peter Lawler <pidgin@bleeter.id.au>
parents: 12323
diff changeset
54 #define YAHOO_AUDIBLE_URL "http://us.dl1.yimg.com/download.yahoo.com/dl/aud"
f8d553043aee [gaim-migrate @ 15145]
Peter Lawler <pidgin@bleeter.id.au>
parents: 12323
diff changeset
55
7134
e999c4697e38 [gaim-migrate @ 7701]
Sean Egan <seanegan@pidgin.im>
parents: 6895
diff changeset
56 #define WEBMESSENGER_URL "http://login.yahoo.com/config/login?.src=pg"
e999c4697e38 [gaim-migrate @ 7701]
Sean Egan <seanegan@pidgin.im>
parents: 6895
diff changeset
57
9306
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
58 #define YAHOO_PICURL_SETTING "picture_url"
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
59 #define YAHOO_PICCKSUM_SETTING "picture_checksum"
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
60 #define YAHOO_PICEXPIRE_SETTING "picture_expire"
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
61
10373
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
62 #define YAHOO_STATUS_TYPE_OFFLINE "offline"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
63 #define YAHOO_STATUS_TYPE_AVAILABLE "available"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
64 #define YAHOO_STATUS_TYPE_BRB "brb"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
65 #define YAHOO_STATUS_TYPE_BUSY "busy"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
66 #define YAHOO_STATUS_TYPE_NOTATHOME "notathome"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
67 #define YAHOO_STATUS_TYPE_NOTATDESK "notatdesk"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
68 #define YAHOO_STATUS_TYPE_NOTINOFFICE "notinoffice"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
69 #define YAHOO_STATUS_TYPE_ONPHONE "onphone"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
70 #define YAHOO_STATUS_TYPE_ONVACATION "onvacation"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
71 #define YAHOO_STATUS_TYPE_OUTTOLUNCH "outtolunch"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
72 #define YAHOO_STATUS_TYPE_STEPPEDOUT "steppedout"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
73 #define YAHOO_STATUS_TYPE_AWAY "away"
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
74 #define YAHOO_STATUS_TYPE_INVISIBLE "invisible"
15589
9f28c50427c1 Yahoo mobile status
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
75 #define YAHOO_STATUS_TYPE_MOBILE "mobile"
10373
0bf7666d02d8 [gaim-migrate @ 11598]
Tim Ringenbach <marv@pidgin.im>
parents: 10360
diff changeset
76
22202
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
77 #define YAHOO_CLIENT_VERSION_ID "2097087"
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
78 #define YAHOO_CLIENT_VERSION "8.1.0.421"
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
79
19642
f27b0a59548e Change Yahoo prpl to use attention API in libpurple. Previous behavior can
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 16534
diff changeset
80 /* Index into attention types list. */
f27b0a59548e Change Yahoo prpl to use attention API in libpurple. Previous behavior can
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 16534
diff changeset
81 #define YAHOO_BUZZ 0
f27b0a59548e Change Yahoo prpl to use attention API in libpurple. Previous behavior can
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 16534
diff changeset
82
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
83 enum yahoo_status {
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
84 YAHOO_STATUS_AVAILABLE = 0,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
85 YAHOO_STATUS_BRB,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
86 YAHOO_STATUS_BUSY,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
87 YAHOO_STATUS_NOTATHOME,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
88 YAHOO_STATUS_NOTATDESK,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
89 YAHOO_STATUS_NOTINOFFICE,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
90 YAHOO_STATUS_ONPHONE,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
91 YAHOO_STATUS_ONVACATION,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
92 YAHOO_STATUS_OUTTOLUNCH,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
93 YAHOO_STATUS_STEPPEDOUT,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
94 YAHOO_STATUS_INVISIBLE = 12,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
95 YAHOO_STATUS_CUSTOM = 99,
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
96 YAHOO_STATUS_IDLE = 999,
7134
e999c4697e38 [gaim-migrate @ 7701]
Sean Egan <seanegan@pidgin.im>
parents: 6895
diff changeset
97 YAHOO_STATUS_WEBLOGIN = 0x5a55aa55,
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
98 YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */
22202
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
99 YAHOO_STATUS_TYPING = 0x16,
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
100 YAHOO_STATUS_DISCONNECTED = 0xffffffff /* in ymsg 15. doesnt mean the normal sense of 'disconnected' */
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
101 };
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
102
9306
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
103 struct yahoo_buddy_icon_upload_data {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
104 PurpleConnection *gc;
9306
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
105 GString *str;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
106 char *filename;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
107 int pos;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
108 int fd;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
109 guint watcher;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
110 };
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
111
9376
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 9371
diff changeset
112 struct _YchtConn;
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 9371
diff changeset
113
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
114 struct yahoo_data {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
115 PurpleConnection *gc;
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
116 int fd;
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
117 guchar *rxqueue;
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
118 int rxlen;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
119 PurpleCircBuffer *txbuf;
13201
8c224ef70efa [gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents: 12970
diff changeset
120 guint txhandler;
6784
6623b18f188a [gaim-migrate @ 7323]
Tim Ringenbach <marv@pidgin.im>
parents: 6729
diff changeset
121 GHashTable *friends;
13851
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
122
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
123 /**
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
124 * This is used to keep track of the IMVironment chosen
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
125 * by people you talk to. We don't do very much with
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
126 * this right now... but at least now if the remote user
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
127 * selects an IMVironment we won't reset it back to the
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
128 * default of nothing.
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
129 */
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
130 GHashTable *imvironments;
27bc39ea07f8 [gaim-migrate @ 16306]
Mark Doliner <markdoliner@pidgin.im>
parents: 13689
diff changeset
131
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
132 int current_status;
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
133 gboolean logged_in;
12203
a8ac8491df3a [gaim-migrate @ 14505]
Peter Lawler <pidgin@bleeter.id.au>
parents: 11970
diff changeset
134 GString *tmp_serv_blist, *tmp_serv_ilist, *tmp_serv_plist;
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
135 GSList *confs;
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
136 unsigned int conf_id; /* just a counter */
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
137 gboolean chat_online;
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
138 gboolean in_chat;
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
139 char *chat_name;
19716
3f161bed09f6 Fix yahoo chats again for their new super-duper-ultra-mega secure captcha stuff. "/join chat" still doesn't work, you need to use the roomlist because they now require the chat id to be set (the native client also has this problem). Fixes #2860.
Daniel Atallah <datallah@pidgin.im>
parents: 19642
diff changeset
140 char *pending_chat_room;
3f161bed09f6 Fix yahoo chats again for their new super-duper-ultra-mega secure captcha stuff. "/join chat" still doesn't work, you need to use the roomlist because they now require the chat id to be set (the native client also has this problem). Fixes #2860.
Daniel Atallah <datallah@pidgin.im>
parents: 19642
diff changeset
141 char *pending_chat_id;
3f161bed09f6 Fix yahoo chats again for their new super-duper-ultra-mega secure captcha stuff. "/join chat" still doesn't work, you need to use the roomlist because they now require the chat id to be set (the native client also has this problem). Fixes #2860.
Daniel Atallah <datallah@pidgin.im>
parents: 19642
diff changeset
142 char *pending_chat_topic;
3f161bed09f6 Fix yahoo chats again for their new super-duper-ultra-mega secure captcha stuff. "/join chat" still doesn't work, you need to use the roomlist because they now require the chat id to be set (the native client also has this problem). Fixes #2860.
Daniel Atallah <datallah@pidgin.im>
parents: 19642
diff changeset
143 char *pending_chat_goto;
7134
e999c4697e38 [gaim-migrate @ 7701]
Sean Egan <seanegan@pidgin.im>
parents: 6895
diff changeset
144 char *auth;
13201
8c224ef70efa [gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents: 12970
diff changeset
145 gsize auth_written;
7651
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
146 char *cookie_y;
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
147 char *cookie_t;
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
148 int session_id;
9164
46904c930b6e [gaim-migrate @ 9949]
Tim Ringenbach <marv@pidgin.im>
parents: 9161
diff changeset
149 gboolean jp;
10989
ea41b63cfea5 [gaim-migrate @ 12827]
Daniel Atallah <datallah@pidgin.im>
parents: 10937
diff changeset
150 gboolean wm; /* connected w/ web messenger method */
9306
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
151 /* picture aka buddy icon stuff */
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
152 char *picture_url;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
153 int picture_checksum;
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
154
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
155 /* ew. we have to check the icon before we connect,
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
156 * but can't upload it til we're connected. */
3df21f4d438b [gaim-migrate @ 10114]
Tim Ringenbach <marv@pidgin.im>
parents: 9292
diff changeset
157 struct yahoo_buddy_icon_upload_data *picture_upload_todo;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
158 PurpleProxyConnectData *buddy_icon_connect_data;
9376
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 9371
diff changeset
159
72964e97c46e [gaim-migrate @ 10184]
Tim Ringenbach <marv@pidgin.im>
parents: 9371
diff changeset
160 struct _YchtConn *ycht;
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
161
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
162 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
163 * This linked list contains PurpleUtilFetchUrlData structs
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
164 * for when we lookup people profile or photo information.
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
165 */
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
166 GSList *url_datas;
22202
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
167 GHashTable *xfer_peer_idstring_map;/*Hey, i dont know, but putting this HashTable next to friends gives a run time fault...*/
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
168 GSList *cookies;/*contains all cookies, including _y and _t*/
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
169 };
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
170
9603
1893bf2387c1 [gaim-migrate @ 10446]
Tim Ringenbach <marv@pidgin.im>
parents: 9409
diff changeset
171 #define YAHOO_MAX_STATUS_MESSAGE_LENGTH (255)
6847
0fda06bb588a [gaim-migrate @ 7392]
Tim Ringenbach <marv@pidgin.im>
parents: 6784
diff changeset
172
7651
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
173 /* sometimes i wish prpls could #include things from other prpls. then i could just
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
174 * use the routines from libfaim and not have to admit to knowing how they work. */
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
175 #define yahoo_put16(buf, data) ( \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
176 (*(buf) = (unsigned char)((data)>>8)&0xff), \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
177 (*((buf)+1) = (unsigned char)(data)&0xff), \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
178 2)
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
179 #define yahoo_get16(buf) ((((*(buf))<<8)&0xff00) + ((*((buf)+1)) & 0xff))
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
180 #define yahoo_put32(buf, data) ( \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
181 (*((buf)) = (unsigned char)((data)>>24)&0xff), \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
182 (*((buf)+1) = (unsigned char)((data)>>16)&0xff), \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
183 (*((buf)+2) = (unsigned char)((data)>>8)&0xff), \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
184 (*((buf)+3) = (unsigned char)(data)&0xff), \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
185 4)
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
186 #define yahoo_get32(buf) ((((*(buf))<<24)&0xff000000) + \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
187 (((*((buf)+1))<<16)&0x00ff0000) + \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
188 (((*((buf)+2))<< 8)&0x0000ff00) + \
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
189 (((*((buf)+3) )&0x000000ff)))
43663aa7ef68 [gaim-migrate @ 8295]
Tim Ringenbach <marv@pidgin.im>
parents: 7134
diff changeset
190
6729
c21179a914e5 [gaim-migrate @ 7256]
Tim Ringenbach <marv@pidgin.im>
parents: 6629
diff changeset
191 /* util.c */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 12203
diff changeset
192 void yahoo_init_colorht(void);
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 12203
diff changeset
193 void yahoo_dest_colorht(void);
6629
9d6bbc91ba24 [gaim-migrate @ 7153]
Tim Ringenbach <marv@pidgin.im>
parents: 6513
diff changeset
194 char *yahoo_codes_to_html(const char *x);
9d6bbc91ba24 [gaim-migrate @ 7153]
Tim Ringenbach <marv@pidgin.im>
parents: 6513
diff changeset
195 char *yahoo_html_to_codes(const char *src);
6513
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
196
7827
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
197 /**
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
198 * Encode some text to send to the yahoo server.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
199 *
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
200 * @param gc The connection handle.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
201 * @param str The null terminated utf8 string to encode.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
202 * @param utf8 If not @c NULL, whether utf8 is okay or not.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
203 * Even if it is okay, we may not use it. If we
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
204 * used it, we set this to @c TRUE, else to
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
205 * @c FALSE. If @c NULL, false is assumed, and
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
206 * it is not dereferenced.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
207 * @return The g_malloced string in the appropriate encoding.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
208 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
209 char *yahoo_string_encode(PurpleConnection *gc, const char *str, gboolean *utf8);
7827
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
210
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
211 /**
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
212 * Decode some text received from the server.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
213 *
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
214 * @param gc The gc handle.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
215 * @param str The null terminated string to decode.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
216 * @param utf8 Did the server tell us it was supposed to be utf8?
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
217 * @return The decoded, utf-8 string, which must be g_free()'d.
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
218 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
219 char *yahoo_string_decode(PurpleConnection *gc, const char *str, gboolean utf8);
7827
080c98045e12 [gaim-migrate @ 8479]
Ethan Blanton <elb@pidgin.im>
parents: 7651
diff changeset
220
9220
d8b1478a406e [gaim-migrate @ 10016]
Tim Ringenbach <marv@pidgin.im>
parents: 9164
diff changeset
221 /* previously-static functions, now needed for yahoo_profile.c */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
222 void yahoo_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full);
9220
d8b1478a406e [gaim-migrate @ 10016]
Tim Ringenbach <marv@pidgin.im>
parents: 9164
diff changeset
223
9161
0561de0af1c6 [gaim-migrate @ 9946]
Tim Ringenbach <marv@pidgin.im>
parents: 9062
diff changeset
224 /* yahoo_profile.c */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
225 void yahoo_get_info(PurpleConnection *gc, const char *name);
9161
0561de0af1c6 [gaim-migrate @ 9946]
Tim Ringenbach <marv@pidgin.im>
parents: 9062
diff changeset
226
22202
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
227 /* needed for xfer, thought theyd be useful for other enhancements later on
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
228 Returns list of cookies stored in yahoo_data formatted as a single null terminated string
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
229 returned value must be g_freed
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
230 */
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
231 gchar* yahoo_get_cookies(PurpleConnection *gc);
e42ab2e3eba1 This patch from Thanumalayan S. implements Yahoo protocol version 15 file
Thanumalayan Sankaranarayanan <madthanu@gmail.com>
parents: 22201
diff changeset
232
10937
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
233 /**
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
234 * Check to see whether the sender is permitted to send
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
235 *
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
236 * @param gc The gc handle.
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
237 * @param who The sender of the packet to check
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
238 */
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
239 gboolean yahoo_privacy_check
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15589
diff changeset
240 (PurpleConnection *gc, const char *who);
10937
1753f4709889 [gaim-migrate @ 12721]
Peter Lawler <pidgin@bleeter.id.au>
parents: 10392
diff changeset
241
19642
f27b0a59548e Change Yahoo prpl to use attention API in libpurple. Previous behavior can
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 16534
diff changeset
242 gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type);
f27b0a59548e Change Yahoo prpl to use attention API in libpurple. Previous behavior can
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 16534
diff changeset
243 GList *yahoo_attention_types(PurpleAccount *account);
f27b0a59548e Change Yahoo prpl to use attention API in libpurple. Previous behavior can
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 16534
diff changeset
244
6513
191231aceb3f [gaim-migrate @ 7030]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
245 #endif /* _YAHOO_H_ */

mercurial