Mercurial > pidgin.yaz
annotate libpurple/protocols/yahoo/libymsg.h @ 32121:2d28bf68e63f
Fix coming out of idle while in an unavailable state for Yahoo
In the Yahoo prpl, when you'd go idle and come back while being busy or
away, you'd appear as available. This patch fixes that by sending the
correct custom status flag when coming out of idle.
author | maiku@pidgin.im |
---|---|
date | Mon, 13 Jun 2011 22:29:48 +0000 |
parents | 86598f5d7ebd |
children | fa88dc1dcabb f33200f71cc3 |
rev | line source |
---|---|
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
1 /** |
27395
ef5f0cde8d74
Update for file renames.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27394
diff
changeset
|
2 * @file libymsg.h The Yahoo! and Yahoo! JAPAN Protocol Plugins |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
3 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
4 * purple |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
5 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
6 * Purple is the legal property of its developers, whose names are too numerous |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
8 * source distribution. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
9 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
13 * (at your option) any later version. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
14 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
19 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
23 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
24 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
25 #ifndef _LIBYMSG_H_ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
26 #define _LIBYMSG_H_ |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
27 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
28 #include "circbuffer.h" |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
29 #include "cmds.h" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
30 #include "prpl.h" |
31530
86598f5d7ebd
Yahoo: Fix a crash that happens when the PurpleAccount disconnects after
hanzz@soc.pidgin.im
parents:
31022
diff
changeset
|
31 #include "network.h" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
32 |
30072
60af53dd42d5
Ladies and gentlemen, I give you HTTP-based retrieval of the Yahoo CS server
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30001
diff
changeset
|
33 #define YAHOO_PAGER_HOST_REQ_URL "http://vcs1.msg.yahoo.com/capacity" |
30607
e9001aa49be8
Very hackily implement a fallback mechanism in Yahoo, but not for Yahoo Japan
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30098
diff
changeset
|
34 #define YAHOO_PAGER_HOST_FALLBACK "scsa.msg.yahoo.com" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
35 #define YAHOO_PAGER_PORT 5050 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
36 #define YAHOO_PAGER_PORT_P2P 5101 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
37 #define YAHOO_LOGIN_URL "https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
38 #define YAHOO_TOKEN_URL "https://login.yahoo.com/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
39 #define YAHOO_P2P_KEEPALIVE_SECS 300 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
40 #define YAHOO_P2P_SERVER_TIMEOUT 10 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
41 #define YAHOO_PROFILE_URL "http://profiles.yahoo.com/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
42 #define YAHOO_MAIL_URL "http://rd.yahoo.com/messenger/client/?http://mail.yahoo.com/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
43 #define YAHOO_XFER_HOST "filetransfer.msg.yahoo.com" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
44 #define YAHOO_XFER_PORT 80 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
45 #define YAHOO_XFER_RELAY_HOST "relay.msg.yahoo.com" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
46 #define YAHOO_XFER_RELAY_PORT 80 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
47 #define YAHOO_ROOMLIST_URL "http://insider.msg.yahoo.com/ycontent/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
48 #define YAHOO_ROOMLIST_LOCALE "us" |
30074
957f57decf90
Don't need these defines anymore.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30072
diff
changeset
|
49 |
957f57decf90
Don't need these defines anymore.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30072
diff
changeset
|
50 /* Yahoo! JAPAN stuff */ |
30072
60af53dd42d5
Ladies and gentlemen, I give you HTTP-based retrieval of the Yahoo CS server
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30001
diff
changeset
|
51 #define YAHOOJP_PAGER_HOST_REQ_URL "http://cs1.msg.vip.ogk.yahoo.co.jp/capacity" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
52 #define YAHOOJP_TOKEN_URL "https://login.yahoo.co.jp/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
53 #define YAHOOJP_LOGIN_URL "https://login.yahoo.co.jp/config/pwtoken_login?src=ymsgr&ts=&token=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
54 #define YAHOOJP_PROFILE_URL "http://profiles.yahoo.co.jp/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
55 #define YAHOOJP_MAIL_URL "http://mail.yahoo.co.jp/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
56 #define YAHOOJP_XFER_HOST "filetransfer.msg.yahoo.co.jp" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
57 #define YAHOOJP_WEBCAM_HOST "wc.yahoo.co.jp" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
58 /* not sure, must test: */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
59 #define YAHOOJP_XFER_RELAY_HOST "relay.msg.yahoo.co.jp" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
60 #define YAHOOJP_XFER_RELAY_PORT 80 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
61 #define YAHOOJP_ROOMLIST_URL "http://insider.msg.yahoo.co.jp/ycontent/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
62 #define YAHOOJP_ROOMLIST_LOCALE "ja" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
63 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
64 #define YAHOO_AUDIBLE_URL "http://us.dl1.yimg.com/download.yahoo.com/dl/aud" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
65 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
66 #define WEBMESSENGER_URL "http://login.yahoo.com/config/login?.src=pg" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
67 |
31022
47ff9247b95a
Fix SMS carrier URL per todo's advice. Fixes #12688.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30607
diff
changeset
|
68 #define YAHOO_SMS_CARRIER_URL "http://validate.msg.yahoo.com" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
69 |
27531
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
70 #define YAHOO_USERINFO_URL "http://address.yahoo.com/yab/us?v=XM&sync=1&tags=short&useutf8=1&noclear=1&legenc=codepage-1252" |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
71 #define YAHOOJP_USERINFO_URL "http://address.yahoo.co.jp/yab/jp?v=XM&sync=1&tags=short&useutf8=1&noclear=1&legenc=codepage-1252" |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
72 |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
73 #define YAHOO_PICURL_SETTING "picture_url" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
74 #define YAHOO_PICCKSUM_SETTING "picture_checksum" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
75 #define YAHOO_PICEXPIRE_SETTING "picture_expire" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
76 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
77 #define YAHOO_STATUS_TYPE_OFFLINE "offline" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
78 #define YAHOO_STATUS_TYPE_AVAILABLE "available" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
79 #define YAHOO_STATUS_TYPE_BRB "brb" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
80 #define YAHOO_STATUS_TYPE_BUSY "busy" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
81 #define YAHOO_STATUS_TYPE_NOTATHOME "notathome" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
82 #define YAHOO_STATUS_TYPE_NOTATDESK "notatdesk" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
83 #define YAHOO_STATUS_TYPE_NOTINOFFICE "notinoffice" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
84 #define YAHOO_STATUS_TYPE_ONPHONE "onphone" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
85 #define YAHOO_STATUS_TYPE_ONVACATION "onvacation" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
86 #define YAHOO_STATUS_TYPE_OUTTOLUNCH "outtolunch" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
87 #define YAHOO_STATUS_TYPE_STEPPEDOUT "steppedout" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
88 #define YAHOO_STATUS_TYPE_AWAY "away" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
89 #define YAHOO_STATUS_TYPE_INVISIBLE "invisible" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
90 #define YAHOO_STATUS_TYPE_MOBILE "mobile" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
91 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
92 #define YAHOO_CLIENT_VERSION_ID "4194239" |
27678
faf80efd10a9
We were actually identifying as a version of Yahoo Messenger that doesn't
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27531
diff
changeset
|
93 #define YAHOO_CLIENT_VERSION "9.0.0.2162" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
94 |
30001
bfaf039aed87
Change our Yahoo! JAPAN version and version ID's to match the official Yahoo!
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
29989
diff
changeset
|
95 #define YAHOOJP_CLIENT_VERSION_ID "4186047" |
bfaf039aed87
Change our Yahoo! JAPAN version and version ID's to match the official Yahoo!
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
29989
diff
changeset
|
96 #define YAHOOJP_CLIENT_VERSION "9.0.0.1727" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
97 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
98 #define YAHOO_CLIENT_USERAGENT "Mozilla/5.0" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
99 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
100 /* Index into attention types list. */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
101 #define YAHOO_BUZZ 0 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
102 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
103 typedef enum { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
104 YAHOO_PKT_TYPE_SERVER = 0, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
105 YAHOO_PKT_TYPE_P2P |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
106 } yahoo_pkt_type; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
107 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
108 typedef enum { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
109 YAHOO_P2P_WE_ARE_CLIENT =0, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
110 YAHOO_P2P_WE_ARE_SERVER |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
111 } yahoo_p2p_connection_type; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
112 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
113 enum yahoo_status { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
114 YAHOO_STATUS_AVAILABLE = 0, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
115 YAHOO_STATUS_BRB, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
116 YAHOO_STATUS_BUSY, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
117 YAHOO_STATUS_NOTATHOME, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
118 YAHOO_STATUS_NOTATDESK, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
119 YAHOO_STATUS_NOTINOFFICE, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
120 YAHOO_STATUS_ONPHONE, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
121 YAHOO_STATUS_ONVACATION, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
122 YAHOO_STATUS_OUTTOLUNCH, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
123 YAHOO_STATUS_STEPPEDOUT, |
29989
c4fe6afad87a
yahoo: fix decoding of P2P session_id
vamposdecampos@gmail.com
parents:
29394
diff
changeset
|
124 YAHOO_STATUS_P2P = 11, |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
125 YAHOO_STATUS_INVISIBLE = 12, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
126 YAHOO_STATUS_CUSTOM = 99, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
127 YAHOO_STATUS_IDLE = 999, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
128 YAHOO_STATUS_WEBLOGIN = 0x5a55aa55, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
129 YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
130 YAHOO_STATUS_TYPING = 0x16, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
131 YAHOO_STATUS_DISCONNECTED = 0xffffffff /* in ymsg 15. doesnt mean the normal sense of 'disconnected' */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
132 }; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
133 |
28733
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
134 /* |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
135 * Yahoo federated networks. Key 241 in ymsg. |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
136 * If it doesn't exist, it is on Yahoo's netowrk. |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
137 * It if does exist, send to another IM network. |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
138 */ |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
139 |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
140 typedef enum { |
28734
5f13e8a5c1a0
Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28733
diff
changeset
|
141 YAHOO_FEDERATION_NONE = 0, /* No federation - Yahoo! network */ |
5f13e8a5c1a0
Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28733
diff
changeset
|
142 YAHOO_FEDERATION_OCS = 1, /* LCS or OCS private networks */ |
5f13e8a5c1a0
Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28733
diff
changeset
|
143 YAHOO_FEDERATION_MSN = 2, /* MSN or Windows Live network */ |
29394
d1cecbc467c6
Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
kartikmohta@gmail.com
parents:
28836
diff
changeset
|
144 YAHOO_FEDERATION_IBM = 9, /* IBM/Sametime network */ |
d1cecbc467c6
Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
kartikmohta@gmail.com
parents:
28836
diff
changeset
|
145 YAHOO_FEDERATION_PBX = 100 /* Yahoo! Pingbox service */ |
28733
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
146 } YahooFederation; |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
147 |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
148 |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
149 struct yahoo_buddy_icon_upload_data { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
150 PurpleConnection *gc; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
151 GString *str; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
152 char *filename; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
153 int pos; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
154 int fd; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
155 guint watcher; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
156 }; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
157 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
158 struct yahoo_p2p_data { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
159 PurpleConnection *gc; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
160 char *host_ip; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
161 char *host_username; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
162 int val_13; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
163 guint input_event; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
164 gint source; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
165 int session_id; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
166 yahoo_p2p_connection_type connection_type; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
167 }; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
168 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
169 struct _YchtConn; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
170 |
27531
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
171 typedef struct _YahooPersonalDetails { |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
172 char *id; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
173 |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
174 struct { |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
175 char *first; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
176 char *last; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
177 char *middle; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
178 char *nick; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
179 } names; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
180 |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
181 struct { |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
182 char *work; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
183 char *home; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
184 char *mobile; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
185 } phone; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
186 } YahooPersonalDetails; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
187 |
28025
908be3822215
Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27678
diff
changeset
|
188 typedef struct { |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
189 PurpleConnection *gc; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
190 int fd; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
191 guchar *rxqueue; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
192 int rxlen; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
193 PurpleCircBuffer *txbuf; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
194 guint txhandler; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
195 GHashTable *friends; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
196 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
197 char **profiles; /* Multiple profiles can be associated with an account */ |
27531
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
198 YahooPersonalDetails ypd; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
199 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
200 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
201 * This is used to keep track of the IMVironment chosen |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
202 * by people you talk to. We don't do very much with |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
203 * this right now... but at least now if the remote user |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
204 * selects an IMVironment we won't reset it back to the |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
205 * default of nothing. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
206 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
207 GHashTable *imvironments; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
208 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
209 int current_status; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
210 gboolean logged_in; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
211 GString *tmp_serv_blist, *tmp_serv_ilist, *tmp_serv_plist; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
212 GSList *confs; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
213 unsigned int conf_id; /* just a counter */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
214 gboolean chat_online; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
215 gboolean in_chat; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
216 char *chat_name; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
217 char *pending_chat_room; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
218 char *pending_chat_id; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
219 char *pending_chat_topic; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
220 char *pending_chat_goto; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
221 char *auth; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
222 gsize auth_written; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
223 char *cookie_y; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
224 char *cookie_t; |
30098
9f482e11f066
Rework the Yahoo auth16 sutff a bit such that we now retrieve and use the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30074
diff
changeset
|
225 char *cookie_b; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
226 int session_id; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
227 gboolean jp; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
228 gboolean wm; /* connected w/ web messenger method */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
229 /* picture aka buddy icon stuff */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
230 char *picture_url; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
231 int picture_checksum; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
232 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
233 /* ew. we have to check the icon before we connect, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
234 * but can't upload it til we're connected. */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
235 struct yahoo_buddy_icon_upload_data *picture_upload_todo; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
236 PurpleProxyConnectData *buddy_icon_connect_data; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
237 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
238 struct _YchtConn *ycht; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
239 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
240 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
241 * This linked list contains PurpleUtilFetchUrlData structs |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
242 * for when we lookup people profile or photo information. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
243 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
244 GSList *url_datas; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
245 GHashTable *xfer_peer_idstring_map;/* Hey, i dont know, but putting this HashTable next to friends gives a run time fault... */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
246 GSList *cookies;/* contains all cookies, including _y and _t */ |
31530
86598f5d7ebd
Yahoo: Fix a crash that happens when the PurpleAccount disconnects after
hanzz@soc.pidgin.im
parents:
31022
diff
changeset
|
247 PurpleNetworkListenData *listen_data; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
248 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
249 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
250 * We may receive a list15 in multiple packets with no prior warning as to how many we'll be getting; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
251 * the server expects us to keep track of the group for which it is sending us contact names. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
252 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
253 char *current_list15_grp; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
254 time_t last_ping; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
255 time_t last_keepalive; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
256 GHashTable *peers; /* information about p2p data */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
257 int yahoo_p2p_timer; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
258 int yahoo_local_p2p_server_fd; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
259 int yahoo_p2p_server_watcher; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
260 GHashTable *sms_carrier; /* sms carrier data */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
261 guint yahoo_p2p_server_timeout_handle; |
28025
908be3822215
Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27678
diff
changeset
|
262 } YahooData; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
263 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
264 #define YAHOO_MAX_STATUS_MESSAGE_LENGTH (255) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
265 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
266 /* |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
267 * Current Maximum Length for Instant Messages |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
268 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
269 * This was found by experiment. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
270 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
271 * The YMSG protocol allows a message of up to 948 bytes, but the official client |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
272 * limits to 800 characters. According to experiments I conducted, it seems that |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
273 * the discrepancy is to allow some leeway for messages with mixed single- and |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
274 * multi-byte characters, as I was able to send messages of 840 and 932 bytes |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
275 * by using some multibyte characters (some random Chinese or Japanese characters, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
276 * to be precise). - rekkanoryo |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
277 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
278 #define YAHOO_MAX_MESSAGE_LENGTH_BYTES 948 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
279 #define YAHOO_MAX_MESSAGE_LENGTH_CHARS 800 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
280 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
281 /* sometimes i wish prpls could #include things from other prpls. then i could just |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
282 * use the routines from libfaim and not have to admit to knowing how they work. */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
283 #define yahoo_put16(buf, data) ( \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
284 (*(buf) = (unsigned char)((data)>>8)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
285 (*((buf)+1) = (unsigned char)(data)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
286 2) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
287 #define yahoo_get16(buf) ((((*(buf))<<8)&0xff00) + ((*((buf)+1)) & 0xff)) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
288 #define yahoo_put32(buf, data) ( \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
289 (*((buf)) = (unsigned char)((data)>>24)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
290 (*((buf)+1) = (unsigned char)((data)>>16)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
291 (*((buf)+2) = (unsigned char)((data)>>8)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
292 (*((buf)+3) = (unsigned char)(data)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
293 4) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
294 #define yahoo_get32(buf) ((((*(buf))<<24)&0xff000000) + \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
295 (((*((buf)+1))<<16)&0x00ff0000) + \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
296 (((*((buf)+2))<< 8)&0x0000ff00) + \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
297 (((*((buf)+3) )&0x000000ff))) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
298 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
299 /* util.c */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
300 void yahoo_init_colorht(void); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
301 void yahoo_dest_colorht(void); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
302 char *yahoo_codes_to_html(const char *x); |
28362
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
303 |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
304 /** |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
305 * This function takes a normal HTML message and converts it to the message |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
306 * format used by Yahoo, which uses a frankensteinish combination of ANSI |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
307 * escape codes and broken HTML. |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
308 * |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
309 * It results in slightly different output than would be sent by official |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
310 * Yahoo clients. The two main differences are: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
311 * |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
312 * 1. We always close all tags, whereas official Yahoo clients leave tags |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
313 * dangling open at the end of each message (and the client treats them |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
314 * as closed). |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
315 * 2. We always close inner tags first before closing outter tags. |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
316 * |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
317 * For example, if you want to send this message: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
318 * <b> bold <i> bolditalic </i></b><i> italic </i> |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
319 * Official Yahoo clients would send: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
320 * ESC[1m bold ESC[2m bolditalic ESC[x1m italic |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
321 * But we will send: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
322 * ESC[1m bold ESC[2m bolditalic ESC[x2mESC[x1mESC[2m italic ESC[x2m |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
323 */ |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
324 char *yahoo_html_to_codes(const char *src); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
325 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
326 gboolean |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
327 yahoo_account_use_http_proxy(PurpleConnection *conn); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
328 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
329 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
330 * Encode some text to send to the yahoo server. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
331 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
332 * @param gc The connection handle. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
333 * @param str The null terminated utf8 string to encode. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
334 * @param utf8 If not @c NULL, whether utf8 is okay or not. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
335 * Even if it is okay, we may not use it. If we |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
336 * used it, we set this to @c TRUE, else to |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
337 * @c FALSE. If @c NULL, false is assumed, and |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
338 * it is not dereferenced. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
339 * @return The g_malloced string in the appropriate encoding. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
340 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
341 char *yahoo_string_encode(PurpleConnection *gc, const char *str, gboolean *utf8); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
342 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
343 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
344 * Decode some text received from the server. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
345 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
346 * @param gc The gc handle. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
347 * @param str The null terminated string to decode. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
348 * @param utf8 Did the server tell us it was supposed to be utf8? |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
349 * @return The decoded, utf-8 string, which must be g_free()'d. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
350 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
351 char *yahoo_string_decode(PurpleConnection *gc, const char *str, gboolean utf8); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
352 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
353 char *yahoo_convert_to_numeric(const char *str); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
354 |
28836
7b88cc6c3f7a
Cannot send a file to a federated user on yahoo.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
28734
diff
changeset
|
355 YahooFederation yahoo_get_federation_from_name(const char *who); |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
356 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
357 /* yahoo_profile.c */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
358 void yahoo_get_info(PurpleConnection *gc, const char *name); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
359 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
360 /* libymsg.h - these functions were formerly static but need not to be for the |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
361 * new two-prpl model. */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
362 const char *yahoo_list_icon(PurpleAccount *a, PurpleBuddy *b); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
363 const char *yahoo_list_emblem(PurpleBuddy *b); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
364 char *yahoo_status_text(PurpleBuddy *b); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
365 void yahoo_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
366 GList *yahoo_status_types(PurpleAccount *account); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
367 GList *yahoo_blist_node_menu(PurpleBlistNode *node); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
368 void yahoo_login(PurpleAccount *account); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
369 void yahoo_close(PurpleConnection *gc); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
370 int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, PurpleMessageFlags flags); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
371 unsigned int yahoo_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
372 void yahoo_set_status(PurpleAccount *account, PurpleStatus *status); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
373 void yahoo_set_idle(PurpleConnection *gc, int idle); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
374 void yahoo_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
375 void yahoo_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
376 void yahoo_add_deny(PurpleConnection *gc, const char *who); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
377 void yahoo_rem_deny(PurpleConnection *gc, const char *who); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
378 void yahoo_set_permit_deny(PurpleConnection *gc); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
379 void yahoo_keepalive(PurpleConnection *gc); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
380 void yahoo_change_buddys_group(PurpleConnection *gc, const char *who, const char *old_group, const char *new_group); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
381 void yahoo_rename_group(PurpleConnection *gc, const char *old_name, PurpleGroup *group, GList *moved_buddies); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
382 gboolean yahoo_offline_message(const PurpleBuddy *buddy); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
383 gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
384 GList *yahoo_attention_types(PurpleAccount *account); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
385 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
386 GList *yahoo_actions(PurplePlugin *plugin, gpointer context); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
387 void yahoopurple_register_commands(void); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
388 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
389 PurpleCmdRet yahoopurple_cmd_buzz(PurpleConversation *c, const gchar *cmd, gchar **args, gchar **error, void *data); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
390 PurpleCmdRet yahoopurple_cmd_chat_join(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
391 PurpleCmdRet yahoopurple_cmd_chat_list(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data); |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
392 /* needed for xfer, thought theyd be useful for other enhancements later on |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
393 Returns list of cookies stored in yahoo_data formatted as a single null terminated string |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
394 returned value must be g_freed |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
395 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
396 gchar* yahoo_get_cookies(PurpleConnection *gc); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
397 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
398 /* send p2p pkt containing our encoded ip, asking peer to connect to us */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
399 void yahoo_send_p2p_pkt(PurpleConnection *gc, const char *who, int val_13); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
400 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
401 #endif /* _LIBYMSG_H_ */ |