Fri, 27 Apr 2001 22:21:53 +0000
[gaim-migrate @ 1773]
la la la
| 1054 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4 | * Some code copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 | * libfaim code copyright 1998, 1999 Adam Fritzler <afritz@auk.cx> | |
| 6 | * | |
| 7 | * This program is free software; you can redistribute it and/or modify | |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 18 | * along with this program; if not, write to the Free Software | |
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 20 | * | |
| 21 | */ | |
| 22 | ||
| 23 | #ifdef HAVE_CONFIG_H | |
|
1514
cd2994c09798
[gaim-migrate @ 1524]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1503
diff
changeset
|
24 | #include "config.h" |
| 1054 | 25 | #endif |
| 26 | ||
| 27 | ||
| 28 | #include <netdb.h> | |
| 29 | #include <gtk/gtk.h> | |
| 30 | #include <unistd.h> | |
| 31 | #include <errno.h> | |
| 32 | #include <netinet/in.h> | |
| 33 | #include <arpa/inet.h> | |
| 34 | #include <string.h> | |
| 35 | #include <stdlib.h> | |
| 36 | #include <stdio.h> | |
| 37 | #include <time.h> | |
| 38 | #include <sys/socket.h> | |
| 39 | #include <sys/stat.h> | |
| 40 | #include "multi.h" | |
| 41 | #include "prpl.h" | |
| 42 | #include "gaim.h" | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
43 | #include "yay.h" |
| 1054 | 44 | |
|
1232
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
45 | #include "pixmaps/status-away.xpm" |
|
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
46 | #include "pixmaps/status-here.xpm" |
|
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
47 | #include "pixmaps/status-idle.xpm" |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
48 | |
|
1448
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
49 | #include "pixmaps/cancel.xpm" |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
50 | |
|
1565
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
51 | #define USEROPT_HTTPHOST 0 |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
52 | #define USEROPT_HTTPPORT 1 |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
53 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
54 | struct conn { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
55 | int socket; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
56 | int type; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
57 | int inpa; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
58 | }; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
59 | |
| 1054 | 60 | struct yahoo_data { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
61 | struct yahoo_session *sess; |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
62 | int current_status; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
63 | GHashTable *hash; |
|
1448
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
64 | GtkWidget *email_win; |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
65 | GtkWidget *email_label; |
|
1500
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
66 | char *active_id; |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
67 | GList *conns; |
|
1553
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
68 | gboolean logged_in; |
| 1054 | 69 | }; |
| 70 | ||
| 71 | static char *yahoo_name() { | |
| 72 | return "Yahoo"; | |
| 73 | } | |
| 74 | ||
| 75 | char *name() { | |
| 76 | return "Yahoo"; | |
| 77 | } | |
| 78 | ||
| 79 | char *description() { | |
| 80 | return "Allows gaim to use the Yahoo protocol"; | |
| 81 | } | |
| 82 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
83 | static int yahoo_status(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
84 | struct gaim_connection *gc = sess->user_data; |
| 1054 | 85 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; |
| 86 | int i; | |
|
1232
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
87 | time_t tmptime; |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
88 | struct buddy *b; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
89 | gboolean online; |
| 1054 | 90 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
91 | va_list ap; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
92 | char *who; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
93 | int status; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
94 | char *msg; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
95 | int in_pager, in_chat, in_game; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
96 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
97 | va_start(ap, sess); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
98 | who = va_arg(ap, char *); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
99 | status = va_arg(ap, int); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
100 | msg = va_arg(ap, char *); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
101 | in_pager = va_arg(ap, int); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
102 | in_chat = va_arg(ap, int); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
103 | in_game = va_arg(ap, int); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
104 | va_end(ap); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
105 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
106 | online = in_pager || in_chat || in_game; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
107 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
108 | b = find_buddy(gc, who); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
109 | if (!b) return 0; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
110 | if (!online) |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
111 | serv_got_update(gc, b->name, 0, 0, 0, 0, 0, 0); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
112 | else { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
113 | if (status == YAHOO_STATUS_AVAILABLE) |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
114 | serv_got_update(gc, b->name, 1, 0, 0, 0, UC_NORMAL, 0); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
115 | else if (status == YAHOO_STATUS_IDLE) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
116 | time(&tmptime); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
117 | serv_got_update(gc, b->name, 1, 0, 0, tmptime - 600, |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
118 | (status << 5) | UC_NORMAL, 0); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
119 | } else |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
120 | serv_got_update(gc, b->name, 1, 0, 0, 0, |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
121 | (status << 5) | UC_UNAVAILABLE, 0); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
122 | if (status == YAHOO_STATUS_CUSTOM) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
123 | gpointer val = g_hash_table_lookup(yd->hash, b->name); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
124 | if (val) |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
125 | g_free(val); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
126 | g_hash_table_insert(yd->hash, g_strdup(b->name), g_strdup(msg)); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
127 | } |
| 1054 | 128 | } |
| 129 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
130 | return 1; |
| 1054 | 131 | } |
| 132 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
133 | static int yahoo_message(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
134 | struct gaim_connection *gc = sess->user_data; |
| 1054 | 135 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; |
|
1400
a12d24a021f6
[gaim-migrate @ 1410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1395
diff
changeset
|
136 | char buf[BUF_LEN * 4]; |
|
1571
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
137 | char *tmp, *c, *e; |
|
1737
f690fef34a91
[gaim-migrate @ 1747]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1657
diff
changeset
|
138 | time_t tm; |
|
1571
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
139 | int at = 0; |
| 1054 | 140 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
141 | va_list ap; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
142 | char *id, *nick, *msg; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
143 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
144 | va_start(ap, sess); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
145 | id = va_arg(ap, char *); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
146 | nick = va_arg(ap, char *); |
|
1737
f690fef34a91
[gaim-migrate @ 1747]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1657
diff
changeset
|
147 | tm = va_arg(ap, time_t); |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
148 | msg = va_arg(ap, char *); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
149 | va_end(ap); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
150 | |
|
1657
776824df9fbd
[gaim-migrate @ 1667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1571
diff
changeset
|
151 | if (msg) |
|
776824df9fbd
[gaim-migrate @ 1667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1571
diff
changeset
|
152 | e = tmp = g_strdup(msg); |
|
776824df9fbd
[gaim-migrate @ 1667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1571
diff
changeset
|
153 | else |
|
776824df9fbd
[gaim-migrate @ 1667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1571
diff
changeset
|
154 | return; |
|
1571
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
155 | |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
156 | while ((c = strchr(e, '\033')) != NULL) { |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
157 | *c++ = '\0'; |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
158 | at += g_snprintf(buf + at, sizeof(buf) - at, "%s", e); |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
159 | e = ++c; |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
160 | while (*e && (*e++ != 'm')); |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
161 | } |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
162 | |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
163 | if (*e) |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
164 | g_snprintf(buf + at, sizeof(buf) - at, "%s", e); |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
165 | |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
166 | g_free(tmp); |
|
3271e3df69e6
[gaim-migrate @ 1581]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1565
diff
changeset
|
167 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
168 | serv_got_im(gc, nick, buf, 0); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
169 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
170 | return 1; |
| 1054 | 171 | } |
| 172 | ||
|
1562
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
173 | static int yahoo_bounce(struct yahoo_session *sess, ...) { |
|
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
174 | do_error_dialog(_("Your message did not get sent."), _("Gaim - Error")); |
|
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
175 | |
|
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
176 | return 1; |
|
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
177 | } |
|
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
178 | |
|
1563
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
179 | static int yahoo_buddyadded(struct yahoo_session *sess, ...) { |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
180 | va_list ap; |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
181 | char *id; |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
182 | char *who; |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
183 | char *msg; |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
184 | char buf[2048]; |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
185 | |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
186 | va_start(ap, sess); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
187 | id = va_arg(ap, char *); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
188 | who = va_arg(ap, char *); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
189 | msg = va_arg(ap, char *); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
190 | va_end(ap); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
191 | |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
192 | g_snprintf(buf, sizeof(buf), _("%s has made %s their buddy%s%s"), who, id, |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
193 | msg ? ": " : "", msg ? msg : ""); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
194 | do_error_dialog(buf, _("Gaim - Buddy")); |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
195 | |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
196 | return 1; |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
197 | } |
|
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
198 | |
|
1448
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
199 | static void des_win(GtkWidget *w, struct yahoo_data *yd) { |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
200 | gtk_widget_destroy(yd->email_win); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
201 | if (yd->email_win == w) |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
202 | yd->email_win = NULL; |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
203 | yd->email_label = NULL; |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
204 | } |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
205 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
206 | static int yahoo_newmail(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
207 | struct gaim_connection *gc = sess->user_data; |
| 1054 | 208 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; |
| 209 | char buf[2048]; | |
| 210 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
211 | va_list ap; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
212 | int count; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
213 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
214 | va_start(ap, sess); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
215 | count = va_arg(ap, int); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
216 | va_end(ap); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
217 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
218 | if (count) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
219 | g_snprintf(buf, sizeof buf, "%s has %d new message%s on Yahoo Mail.", |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
220 | gc->username, count, count == 1 ? "" : "s"); |
|
1448
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
221 | if (!yd->email_win) { |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
222 | GtkWidget *close; |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
223 | |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
224 | yd->email_win = gtk_dialog_new(); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
225 | gtk_window_set_policy(GTK_WINDOW(yd->email_win), 0, 0, 1); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
226 | gtk_container_set_border_width(GTK_CONTAINER(yd->email_win), 5); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
227 | gtk_window_set_title(GTK_WINDOW(yd->email_win), "New Mail"); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
228 | gtk_signal_connect(GTK_OBJECT(yd->email_win), "destroy", |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
229 | GTK_SIGNAL_FUNC(des_win), yd); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
230 | gtk_widget_realize(yd->email_win); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
231 | aol_icon(yd->email_win->window); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
232 | |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
233 | yd->email_label = gtk_label_new(buf); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
234 | gtk_box_pack_start(GTK_BOX(GTK_DIALOG(yd->email_win)->vbox), |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
235 | yd->email_label, 0, 0, 5); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
236 | gtk_widget_show(yd->email_label); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
237 | |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
238 | close = picture_button(yd->email_win, _("Close"), cancel_xpm); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
239 | gtk_box_pack_start(GTK_BOX(GTK_DIALOG(yd->email_win)->action_area), |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
240 | close, 0, 0, 5); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
241 | gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(des_win), yd); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
242 | |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
243 | gtk_widget_show(yd->email_win); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
244 | } |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
245 | gtk_label_set_text(GTK_LABEL(yd->email_label), buf); |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
246 | } else if (yd->email_win) |
|
4bcce6f6e51f
[gaim-migrate @ 1458]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1443
diff
changeset
|
247 | gtk_widget_destroy(yd->email_win); |
| 1054 | 248 | } |
| 249 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
250 | static int yahoo_disconn(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
251 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
252 | hide_login_progress(gc, "Disconnected"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
253 | signoff(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
254 | return 1; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
255 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
256 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
257 | static int yahoo_authconnect(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
258 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
259 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
260 | set_login_progress(gc, 2, "Connected to Auth"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
261 | if (yahoo_send_login(sess, gc->username, gc->password) < 1) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
262 | hide_login_progress(gc, "Authorizer error"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
263 | signoff(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
264 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
265 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
266 | return 1; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
267 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
268 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
269 | static int yahoo_badpassword(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
270 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
271 | hide_login_progress(gc, "Bad Password"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
272 | signoff(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
273 | return 1; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
274 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
275 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
276 | static int yahoo_logincookie(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
277 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
278 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
279 | set_login_progress(gc, 3, "Got login cookie"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
280 | if (yahoo_major_connect(sess, NULL, 0) < 1) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
281 | hide_login_progress(gc, "Login error"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
282 | signoff(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
283 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
284 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
285 | return 1; |
|
1395
7c3c90f3d580
[gaim-migrate @ 1405]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1351
diff
changeset
|
286 | } |
|
7c3c90f3d580
[gaim-migrate @ 1405]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1351
diff
changeset
|
287 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
288 | static int yahoo_mainconnect(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
289 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
290 | struct yahoo_data *yd = gc->proto_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
291 | GList *grps; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
292 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
293 | set_login_progress(gc, 4, "Connected to service"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
294 | if (yahoo_finish_logon(sess, YAHOO_STATUS_AVAILABLE) < 1) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
295 | hide_login_progress(gc, "Login error"); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
296 | signoff(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
297 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
298 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
299 | if (bud_list_cache_exists(gc)) |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
300 | do_import(NULL, gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
301 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
302 | grps = yd->sess->groups; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
303 | while (grps) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
304 | struct yahoo_group *grp = grps->data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
305 | int i; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
306 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
307 | for (i = 0; grp->buddies[i]; i++) |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
308 | add_buddy(gc, grp->name, grp->buddies[i], NULL); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
309 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
310 | grps = grps->next; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
311 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
312 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
313 | return 1; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
314 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
315 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
316 | static int yahoo_online(struct yahoo_session *sess, ...) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
317 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
318 | struct yahoo_data *yd = gc->proto_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
319 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
320 | account_online(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
321 | serv_finish_login(gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
322 | yd->active_id = g_strdup(gc->username); |
|
1553
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
323 | yd->logged_in = TRUE; |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
324 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
325 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
326 | static void yahoo_pending(gpointer data, gint source, GdkInputCondition condition) { |
| 1054 | 327 | struct gaim_connection *gc = (struct gaim_connection *)data; |
| 328 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | |
| 329 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
330 | yahoo_socket_handler(yd->sess, source, condition); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
331 | } |
| 1054 | 332 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
333 | static void yahoo_notify(struct yahoo_session *sess, int socket, int type, int cont) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
334 | struct gaim_connection *gc = sess->user_data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
335 | struct yahoo_data *yd = gc->proto_data; |
| 1054 | 336 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
337 | if (cont) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
338 | struct conn *c = g_new0(struct conn, 1); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
339 | c->socket = socket; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
340 | c->type = type; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
341 | c->inpa = gdk_input_add(socket, type, yahoo_pending, gc); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
342 | yd->conns = g_list_append(yd->conns, c); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
343 | } else { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
344 | GList *c = yd->conns; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
345 | while (c) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
346 | struct conn *m = c->data; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
347 | if ((m->socket == socket) && (m->type == type)) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
348 | yd->conns = g_list_remove(yd->conns, m); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
349 | gdk_input_remove(m->inpa); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
350 | g_free(m); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
351 | return; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
352 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
353 | c = g_list_next(c); |
| 1054 | 354 | } |
| 355 | } | |
| 356 | } | |
| 357 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
358 | static void yahoo_debug(struct yahoo_session *sess, int level, const char *string) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
359 | debug_printf("Level %d: %s\n", level, string); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
360 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
361 | |
| 1054 | 362 | static void yahoo_login(struct aim_user *user) { |
|
1089
74f5c108f7a3
[gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1054
diff
changeset
|
363 | struct gaim_connection *gc = new_gaim_conn(user); |
| 1054 | 364 | struct yahoo_data *yd = gc->proto_data = g_new0(struct yahoo_data, 1); |
| 365 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
366 | yd->sess = yahoo_new(); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
367 | yd->sess->user_data = gc; |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
368 | yd->current_status = YAHOO_STATUS_AVAILABLE; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
369 | yd->hash = g_hash_table_new(g_str_hash, g_str_equal); |
| 1054 | 370 | |
|
1565
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
371 | if (user->proto_opt[USEROPT_HTTPHOST][0]) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
372 | char *finalproxy; |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
373 | if (user->proto_opt[USEROPT_HTTPPORT][0]) |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
374 | yahoo_set_proxy(yd->sess, YAHOO_PROXY_HTTP, |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
375 | user->proto_opt[USEROPT_HTTPHOST], |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
376 | atoi(user->proto_opt[USEROPT_HTTPPORT])); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
377 | else |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
378 | yahoo_set_proxy(yd->sess, YAHOO_PROXY_HTTP, |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
379 | user->proto_opt[USEROPT_HTTPHOST], 8080); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
380 | } |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
381 | |
| 1054 | 382 | set_login_progress(gc, 1, "Connecting"); |
| 383 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
384 | if (!yahoo_connect(yd->sess, NULL, 0)) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
385 | yahoo_delete(yd->sess); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
386 | hide_login_progress(gc, "Connection problem"); |
|
1096
7020a4fc34a3
[gaim-migrate @ 1106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1090
diff
changeset
|
387 | signoff(gc); |
| 1054 | 388 | return; |
| 389 | } | |
| 390 | ||
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
391 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_DISCONNECT, yahoo_disconn); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
392 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_AUTHCONNECT, yahoo_authconnect); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
393 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_BADPASSWORD, yahoo_badpassword); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
394 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_LOGINCOOKIE, yahoo_logincookie); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
395 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_MAINCONNECT, yahoo_mainconnect); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
396 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_ONLINE, yahoo_online); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
397 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_NEWMAIL, yahoo_newmail); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
398 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_MESSAGE, yahoo_message); |
|
1562
18522055495a
[gaim-migrate @ 1572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1557
diff
changeset
|
399 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_BOUNCE, yahoo_bounce); |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
400 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_STATUS, yahoo_status); |
|
1563
34b980c4b771
[gaim-migrate @ 1573]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1562
diff
changeset
|
401 | yahoo_add_handler(yd->sess, YAHOO_HANDLE_BUDDYADDED, yahoo_buddyadded); |
| 1054 | 402 | } |
| 403 | ||
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
404 | static gboolean yahoo_destroy_hash(gpointer key, gpointer val, gpointer data) { |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
405 | g_free(key); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
406 | g_free(val); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
407 | return TRUE; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
408 | } |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
409 | |
| 1054 | 410 | static void yahoo_close(struct gaim_connection *gc) { |
| 411 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
412 | g_hash_table_foreach_remove(yd->hash, yahoo_destroy_hash, NULL); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
413 | g_hash_table_destroy(yd->hash); |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
414 | yahoo_disconnect(yd->sess); |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
415 | yahoo_delete(yd->sess); |
| 1054 | 416 | g_free(yd); |
| 417 | } | |
| 418 | ||
| 419 | static void yahoo_send_im(struct gaim_connection *gc, char *who, char *message, int away) { | |
| 420 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | |
| 421 | ||
|
1554
1883d6c5fb5c
[gaim-migrate @ 1564]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1553
diff
changeset
|
422 | if (away || !strlen(message)) return; |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
423 | |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
424 | yahoo_send_message(yd->sess, yd->active_id, who, message); |
| 1054 | 425 | } |
| 426 | ||
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
427 | static void yahoo_set_away(struct gaim_connection *gc, char *state, char *msg) { |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
428 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
429 | |
|
1404
e915b372f70a
[gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1402
diff
changeset
|
430 | gc->away = NULL; |
|
e915b372f70a
[gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1402
diff
changeset
|
431 | |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
432 | if (msg) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
433 | yahoo_away(yd->sess, YAHOO_STATUS_CUSTOM, msg); |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
434 | yd->current_status = YAHOO_STATUS_CUSTOM; |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
435 | gc->away = ""; |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
436 | } else if (state) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
437 | gc->away = ""; |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
438 | if (!strcmp(state, "Available")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
439 | yahoo_away(yd->sess, YAHOO_STATUS_AVAILABLE, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
440 | yd->current_status = YAHOO_STATUS_AVAILABLE; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
441 | } else if (!strcmp(state, "Be Right Back")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
442 | yahoo_away(yd->sess, YAHOO_STATUS_BRB, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
443 | yd->current_status = YAHOO_STATUS_BRB; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
444 | } else if (!strcmp(state, "Busy")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
445 | yahoo_away(yd->sess, YAHOO_STATUS_BUSY, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
446 | yd->current_status = YAHOO_STATUS_BUSY; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
447 | } else if (!strcmp(state, "Not At Home")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
448 | yahoo_away(yd->sess, YAHOO_STATUS_NOTATHOME, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
449 | yd->current_status = YAHOO_STATUS_NOTATHOME; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
450 | } else if (!strcmp(state, "Not At Desk")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
451 | yahoo_away(yd->sess, YAHOO_STATUS_NOTATDESK, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
452 | yd->current_status = YAHOO_STATUS_NOTATDESK; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
453 | } else if (!strcmp(state, "Not In Office")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
454 | yahoo_away(yd->sess, YAHOO_STATUS_NOTINOFFICE, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
455 | yd->current_status = YAHOO_STATUS_NOTINOFFICE; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
456 | } else if (!strcmp(state, "On Phone")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
457 | yahoo_away(yd->sess, YAHOO_STATUS_ONPHONE, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
458 | yd->current_status = YAHOO_STATUS_ONPHONE; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
459 | } else if (!strcmp(state, "On Vacation")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
460 | yahoo_away(yd->sess, YAHOO_STATUS_ONVACATION, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
461 | yd->current_status = YAHOO_STATUS_ONVACATION; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
462 | } else if (!strcmp(state, "Out To Lunch")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
463 | yahoo_away(yd->sess, YAHOO_STATUS_OUTTOLUNCH, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
464 | yd->current_status = YAHOO_STATUS_OUTTOLUNCH; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
465 | } else if (!strcmp(state, "Stepped Out")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
466 | yahoo_away(yd->sess, YAHOO_STATUS_STEPPEDOUT, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
467 | yd->current_status = YAHOO_STATUS_STEPPEDOUT; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
468 | } else if (!strcmp(state, "Invisible")) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
469 | yahoo_away(yd->sess, YAHOO_STATUS_INVISIBLE, msg); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
470 | yd->current_status = YAHOO_STATUS_INVISIBLE; |
|
1402
6f29c043724a
[gaim-migrate @ 1412]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1401
diff
changeset
|
471 | } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { |
|
6f29c043724a
[gaim-migrate @ 1412]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1401
diff
changeset
|
472 | if (gc->is_idle) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
473 | yahoo_away(yd->sess, YAHOO_STATUS_IDLE, NULL); |
|
1402
6f29c043724a
[gaim-migrate @ 1412]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1401
diff
changeset
|
474 | yd->current_status = YAHOO_STATUS_IDLE; |
|
6f29c043724a
[gaim-migrate @ 1412]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1401
diff
changeset
|
475 | } else { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
476 | yahoo_away(yd->sess, YAHOO_STATUS_AVAILABLE, NULL); |
|
1402
6f29c043724a
[gaim-migrate @ 1412]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1401
diff
changeset
|
477 | yd->current_status = YAHOO_STATUS_AVAILABLE; |
|
6f29c043724a
[gaim-migrate @ 1412]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1401
diff
changeset
|
478 | } |
|
1554
1883d6c5fb5c
[gaim-migrate @ 1564]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1553
diff
changeset
|
479 | gc->away = NULL; |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
480 | } |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
481 | } else if (gc->is_idle) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
482 | yahoo_away(yd->sess, YAHOO_STATUS_IDLE, NULL); |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
483 | yd->current_status = YAHOO_STATUS_IDLE; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
484 | } else { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
485 | yahoo_away(yd->sess, YAHOO_STATUS_AVAILABLE, NULL); |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
486 | yd->current_status = YAHOO_STATUS_AVAILABLE; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
487 | } |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
488 | } |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
489 | |
| 1054 | 490 | static void yahoo_set_idle(struct gaim_connection *gc, int idle) { |
| 491 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | |
| 492 | ||
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
493 | if (idle && yd->current_status == YAHOO_STATUS_AVAILABLE) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
494 | yahoo_away(yd->sess, YAHOO_STATUS_IDLE, NULL); |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
495 | yd->current_status = YAHOO_STATUS_IDLE; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
496 | } else if (!idle && yd->current_status == YAHOO_STATUS_IDLE) { |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
497 | yahoo_back(yd->sess, YAHOO_STATUS_AVAILABLE, NULL); |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
498 | yd->current_status = YAHOO_STATUS_AVAILABLE; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
499 | } |
| 1054 | 500 | } |
| 501 | ||
| 502 | static void yahoo_keepalive(struct gaim_connection *gc) { | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
503 | yahoo_ping(((struct yahoo_data *)gc->proto_data)->sess); |
| 1054 | 504 | } |
| 505 | ||
| 506 | static void gyahoo_add_buddy(struct gaim_connection *gc, char *name) { | |
| 507 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | |
|
1552
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
508 | struct yahoo_group *tmpgroup; |
| 1054 | 509 | struct group *g = find_group_by_buddy(gc, name); |
| 510 | char *group = NULL; | |
| 511 | ||
|
1553
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
512 | if (!yd->logged_in) |
|
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
513 | return; |
|
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
514 | |
| 1054 | 515 | if (g) { |
| 516 | group = g->name; | |
|
1552
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
517 | } else if (yd->sess && yd->sess->groups) { |
|
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
518 | tmpgroup = yd->sess->groups->data; |
|
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
519 | group = tmpgroup->name; |
|
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
520 | } else { |
|
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
521 | group = "Buddies"; |
| 1054 | 522 | } |
| 523 | ||
| 524 | if (group) | |
|
1553
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
525 | yahoo_add_buddy(yd->sess, yd->active_id, group, name, ""); |
| 1054 | 526 | } |
| 527 | ||
| 1300 | 528 | static void yahoo_add_buddies(struct gaim_connection *gc, GList *buddies) { |
| 529 | while (buddies) { | |
| 530 | gyahoo_add_buddy(gc, buddies->data); | |
| 531 | buddies = buddies->next; | |
| 532 | } | |
| 533 | } | |
| 534 | ||
| 535 | static void gyahoo_remove_buddy(struct gaim_connection *gc, char *name) { | |
| 536 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; | |
| 537 | struct group *g = find_group_by_buddy(gc, name); | |
| 538 | char *group = NULL; | |
| 539 | ||
| 540 | if (g) { | |
| 541 | group = g->name; | |
|
1552
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
542 | } else if (yd->sess && yd->sess->groups) { |
|
1557
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
543 | GList *x = yd->sess->groups; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
544 | while (x) { |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
545 | struct yahoo_group *tmpgroup = x->data; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
546 | char **bds = tmpgroup->buddies; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
547 | while (*bds) { |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
548 | if (!strcmp(*bds, name)) |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
549 | break; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
550 | bds++; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
551 | } |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
552 | if (*bds) { |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
553 | group = tmpgroup->name; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
554 | break; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
555 | } |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
556 | x = x->next; |
|
190572c52915
[gaim-migrate @ 1567]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1554
diff
changeset
|
557 | } |
|
1552
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
558 | } else { |
|
20713b652219
[gaim-migrate @ 1562]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1546
diff
changeset
|
559 | group = "Buddies"; |
| 1300 | 560 | } |
| 561 | ||
| 562 | if (group) | |
|
1553
f31a726996b1
[gaim-migrate @ 1563]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1552
diff
changeset
|
563 | yahoo_remove_buddy(yd->sess, yd->active_id, group, name, ""); |
| 1300 | 564 | } |
| 565 | ||
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
566 | static char **yahoo_list_icon(int uc) { |
|
1232
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
567 | if ((uc >> 5) == YAHOO_STATUS_IDLE) |
|
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
568 | return status_idle_xpm; |
|
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
569 | else if (uc == UC_NORMAL) |
|
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
570 | return status_here_xpm; |
|
8b4e7d8b12d9
[gaim-migrate @ 1242]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1168
diff
changeset
|
571 | return status_away_xpm; |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
572 | } |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
573 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
574 | static char *yahoo_get_status_string(enum yahoo_status a) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
575 | switch (a) { |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
576 | case YAHOO_STATUS_BRB: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
577 | return "Be Right Back"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
578 | case YAHOO_STATUS_BUSY: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
579 | return "Busy"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
580 | case YAHOO_STATUS_NOTATHOME: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
581 | return "Not At Home"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
582 | case YAHOO_STATUS_NOTATDESK: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
583 | return "Not At Desk"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
584 | case YAHOO_STATUS_NOTINOFFICE: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
585 | return "Not In Office"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
586 | case YAHOO_STATUS_ONPHONE: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
587 | return "On Phone"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
588 | case YAHOO_STATUS_ONVACATION: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
589 | return "On Vacation"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
590 | case YAHOO_STATUS_OUTTOLUNCH: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
591 | return "Out To Lunch"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
592 | case YAHOO_STATUS_STEPPEDOUT: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
593 | return "Stepped Out"; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
594 | default: |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
595 | return NULL; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
596 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
597 | } |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
598 | |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1496
diff
changeset
|
599 | static void yahoo_buddy_menu(GtkWidget *menu, struct gaim_connection *gc, char *who) { |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
600 | struct yahoo_data *yd = (struct yahoo_data *)gc->proto_data; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
601 | GtkWidget *button; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
602 | struct buddy *b = find_buddy(gc, who); /* this should never be null. if it is, |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
603 | segfault and get the bug report. */ |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
604 | char buf[1024]; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
605 | |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
606 | if (b->uc & UC_NORMAL) |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
607 | return; |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
608 | |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
609 | if ((b->uc >> 5) != YAHOO_STATUS_CUSTOM) |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
610 | g_snprintf(buf, sizeof buf, "Status: %s", yahoo_get_status_string(b->uc >> 5)); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
611 | else |
|
1400
a12d24a021f6
[gaim-migrate @ 1410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1395
diff
changeset
|
612 | g_snprintf(buf, sizeof buf, "Custom Status: %s", |
|
a12d24a021f6
[gaim-migrate @ 1410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1395
diff
changeset
|
613 | (char *)g_hash_table_lookup(yd->hash, b->name)); |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
614 | button = gtk_menu_item_new_with_label(buf); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
615 | gtk_menu_append(GTK_MENU(menu), button); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
616 | gtk_widget_show(button); |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
617 | } |
|
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
618 | |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
619 | static GList *yahoo_away_states() { |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
620 | GList *m = NULL; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
621 | |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
622 | m = g_list_append(m, "Available"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
623 | m = g_list_append(m, "Be Right Back"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
624 | m = g_list_append(m, "Busy"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
625 | m = g_list_append(m, "Not At Home"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
626 | m = g_list_append(m, "Not At Desk"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
627 | m = g_list_append(m, "Not In Office"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
628 | m = g_list_append(m, "On Phone"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
629 | m = g_list_append(m, "On Vacation"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
630 | m = g_list_append(m, "Out To Lunch"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
631 | m = g_list_append(m, "Stepped Out"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
632 | m = g_list_append(m, "Invisible"); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
633 | m = g_list_append(m, GAIM_AWAY_CUSTOM); |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
634 | |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
635 | return m; |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
636 | } |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
637 | |
|
1500
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
638 | static void yahoo_act_id(gpointer data, char *entry) { |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
639 | struct gaim_connection *gc = data; |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
640 | struct yahoo_data *yd = gc->proto_data; |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
641 | |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
642 | yahoo_activate_id(yd->sess, entry); |
|
1500
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
643 | if (yd->active_id) |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
644 | g_free(yd->active_id); |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
645 | yd->active_id = g_strdup(entry); |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
646 | } |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
647 | |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
648 | static void yahoo_do_action(struct gaim_connection *gc, char *act) { |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
649 | if (!strcmp(act, "Activate ID")) { |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
650 | do_prompt_dialog("Activate which ID:", gc, yahoo_act_id, NULL); |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
651 | } |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
652 | } |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
653 | |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
654 | static GList *yahoo_actions() { |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
655 | GList *m = NULL; |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
656 | |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
657 | m = g_list_append(m, "Activate ID"); |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
658 | |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
659 | return m; |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
660 | } |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
661 | |
|
1565
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
662 | static void yahoo_print_option(GtkEntry *entry, struct aim_user *user) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
663 | int entrynum; |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
664 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
665 | entrynum = (int) gtk_object_get_user_data(GTK_OBJECT(entry)); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
666 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
667 | if (entrynum == USEROPT_HTTPHOST) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
668 | g_snprintf(user->proto_opt[USEROPT_HTTPHOST], |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
669 | sizeof(user->proto_opt[USEROPT_HTTPHOST]), |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
670 | "%s", gtk_entry_get_text(entry)); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
671 | } else if (entrynum == USEROPT_HTTPPORT) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
672 | g_snprintf(user->proto_opt[USEROPT_HTTPPORT], |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
673 | sizeof(user->proto_opt[USEROPT_HTTPPORT]), |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
674 | "%s", gtk_entry_get_text(entry)); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
675 | } |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
676 | } |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
677 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
678 | static void yahoo_user_opts(GtkWidget *book, struct aim_user *user) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
679 | GtkWidget *vbox; |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
680 | GtkWidget *hbox; |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
681 | GtkWidget *label; |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
682 | GtkWidget *entry; |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
683 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
684 | vbox = gtk_vbox_new(FALSE, 5); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
685 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
686 | gtk_notebook_append_page(GTK_NOTEBOOK(book), vbox, |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
687 | gtk_label_new("Yahoo Options")); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
688 | gtk_widget_show(vbox); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
689 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
690 | hbox = gtk_hbox_new(FALSE, 5); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
691 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
692 | gtk_widget_show(hbox); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
693 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
694 | label = gtk_label_new("HTTP Proxy Host:"); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
695 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
696 | gtk_widget_show(label); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
697 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
698 | entry = gtk_entry_new(); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
699 | gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
700 | gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_HTTPHOST); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
701 | gtk_signal_connect(GTK_OBJECT(entry), "changed", |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
702 | GTK_SIGNAL_FUNC(yahoo_print_option), user); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
703 | if (user->proto_opt[USEROPT_HTTPHOST][0]) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
704 | debug_printf("setting text %s\n", user->proto_opt[USEROPT_HTTPHOST]); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
705 | gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_HTTPHOST]); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
706 | } |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
707 | gtk_widget_show(entry); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
708 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
709 | hbox = gtk_hbox_new(FALSE, 5); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
710 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
711 | gtk_widget_show(hbox); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
712 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
713 | label = gtk_label_new("HTTP Proxy Port:"); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
714 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
715 | gtk_widget_show(label); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
716 | |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
717 | entry = gtk_entry_new(); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
718 | gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
719 | gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_HTTPPORT); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
720 | gtk_signal_connect(GTK_OBJECT(entry), "changed", |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
721 | GTK_SIGNAL_FUNC(yahoo_print_option), user); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
722 | if (user->proto_opt[USEROPT_HTTPPORT][0]) { |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
723 | debug_printf("setting text %s\n", user->proto_opt[USEROPT_HTTPPORT]); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
724 | gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_HTTPPORT]); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
725 | } |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
726 | gtk_widget_show(entry); |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
727 | } |
|
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
728 | |
| 1054 | 729 | static struct prpl *my_protocol = NULL; |
| 730 | ||
| 731 | void Yahoo_init(struct prpl *ret) { | |
| 732 | /* the NULL's aren't required but they're nice to have */ | |
| 733 | ret->protocol = PROTO_YAHOO; | |
| 734 | ret->name = yahoo_name; | |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
735 | ret->list_icon = yahoo_list_icon; |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1400
diff
changeset
|
736 | ret->away_states = yahoo_away_states; |
|
1500
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
737 | ret->actions = yahoo_actions; |
|
f8a21f4aa105
[gaim-migrate @ 1510]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
738 | ret->do_action = yahoo_do_action; |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1496
diff
changeset
|
739 | ret->buddy_menu = yahoo_buddy_menu; |
|
1565
95f2c94c708d
[gaim-migrate @ 1575]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1563
diff
changeset
|
740 | ret->user_opts = yahoo_user_opts; |
| 1054 | 741 | ret->login = yahoo_login; |
| 742 | ret->close = yahoo_close; | |
| 743 | ret->send_im = yahoo_send_im; | |
| 744 | ret->set_info = NULL; | |
| 745 | ret->get_info = NULL; | |
|
1143
d9436e1cfe01
[gaim-migrate @ 1153]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1136
diff
changeset
|
746 | ret->set_away = yahoo_set_away; |
| 1054 | 747 | ret->get_away_msg = NULL; |
| 748 | ret->set_dir = NULL; | |
| 749 | ret->get_dir = NULL; | |
| 750 | ret->dir_search = NULL; | |
| 751 | ret->set_idle = yahoo_set_idle; | |
| 752 | ret->change_passwd = NULL; | |
| 753 | ret->add_buddy = gyahoo_add_buddy; | |
| 1300 | 754 | ret->add_buddies = yahoo_add_buddies; |
| 755 | ret->remove_buddy = gyahoo_remove_buddy; | |
| 1054 | 756 | ret->add_permit = NULL; |
| 757 | ret->add_deny = NULL; | |
| 758 | ret->rem_permit = NULL; | |
| 759 | ret->rem_deny = NULL; | |
| 760 | ret->set_permit_deny = NULL; | |
| 761 | ret->warn = NULL; | |
| 762 | ret->accept_chat = NULL; | |
| 763 | ret->join_chat = NULL; | |
| 764 | ret->chat_invite = NULL; | |
| 765 | ret->chat_leave = NULL; | |
| 766 | ret->chat_whisper = NULL; | |
| 767 | ret->chat_send = NULL; | |
| 768 | ret->keepalive = yahoo_keepalive; | |
| 769 | ||
| 770 | my_protocol = ret; | |
| 771 | } | |
| 772 | ||
| 773 | char *gaim_plugin_init(GModule *handle) { | |
|
1443
0629a6c59f6b
[gaim-migrate @ 1453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1404
diff
changeset
|
774 | load_protocol(Yahoo_init, sizeof(struct prpl)); |
|
1546
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
775 | yahoo_socket_notify = yahoo_notify; |
|
484b6d058933
[gaim-migrate @ 1556]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1514
diff
changeset
|
776 | yahoo_print = yahoo_debug; |
| 1054 | 777 | return NULL; |
| 778 | } | |
| 779 | ||
| 780 | void gaim_plugin_remove() { | |
| 781 | struct prpl *p = find_prpl(PROTO_YAHOO); | |
| 782 | if (p == my_protocol) | |
| 783 | unload_protocol(p); | |
| 784 | } |