Mercurial > pidgin.yaz
annotate src/oscar.c @ 975:a45991891aba
[gaim-migrate @ 985]
signin mods. still need a better UI, but it's getting there.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 11 Oct 2000 03:56:46 +0000 |
parents | 26354cf6a362 |
children | 82c5865f7cfe |
rev | line source |
---|---|
1 | 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 | |
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
23 #ifdef HAVE_CONFIG_H |
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
24 #include "../config.h" |
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
25 #endif |
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
26 |
1 | 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> | |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
40 #include "multi.h" |
1 | 41 #include "gaim.h" |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
42 #include "aim.h" |
1 | 43 #include "gnome_applet_mgr.h" |
44 | |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
45 #include "pixmaps/cancel.xpm" |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
46 #include "pixmaps/ok.xpm" |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
47 |
369
cf895313fc50
[gaim-migrate @ 379]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
48 int gaim_caps = AIM_CAPS_CHAT | AIM_CAPS_SENDFILE | AIM_CAPS_GETFILE | |
cf895313fc50
[gaim-migrate @ 379]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
49 AIM_CAPS_VOICE | AIM_CAPS_IMIMAGE | AIM_CAPS_BUDDYICON; |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
50 int keepalv = -1; |
1 | 51 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
52 struct chat_connection *find_oscar_chat(struct gaim_connection *gc, char *name) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
53 GSList *g = gc->oscar_chats; |
312
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
54 struct chat_connection *c = NULL; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
55 if (gc->protocol != PROTO_OSCAR) return NULL; |
312
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
56 |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
57 while (g) { |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
58 c = (struct chat_connection *)g->data; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
59 if (!strcmp(name, c->name)) |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
60 break; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
61 g = g->next; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
62 c = NULL; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
63 } |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
64 |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
65 return c; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
66 } |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
67 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
68 static struct chat_connection *find_oscar_chat_by_conn(struct gaim_connection *gc, |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
69 struct aim_conn_t *conn) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
70 GSList *g = gc->oscar_chats; |
833
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
71 struct chat_connection *c = NULL; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
72 |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
73 while (g) { |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
74 c = (struct chat_connection *)g->data; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
75 if (c->conn == conn) |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
76 break; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
77 g = g->next; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
78 c = NULL; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
79 } |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
80 |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
81 return c; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
82 } |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
83 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
84 static struct gaim_connection *find_gaim_conn_by_aim_sess(struct aim_session_t *sess) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
85 GSList *g = connections; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
86 struct gaim_connection *gc = NULL; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
87 |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
88 while (g) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
89 gc = (struct gaim_connection *)g->data; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
90 if (sess == gc->oscar_sess) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
91 break; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
92 g = g->next; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
93 gc = NULL; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
94 } |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
95 |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
96 return gc; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
97 } |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
98 |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
99 static struct gaim_connection *find_gaim_conn_by_oscar_conn(struct aim_conn_t *conn) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
100 GSList *g = connections; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
101 struct gaim_connection *c = NULL; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
102 struct aim_conn_t *s; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
103 while (g) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
104 c = (struct gaim_connection *)g->data; |
965
50f2977537d8
[gaim-migrate @ 975]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
964
diff
changeset
|
105 if (c->protocol != PROTO_OSCAR) { |
50f2977537d8
[gaim-migrate @ 975]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
964
diff
changeset
|
106 c = NULL; |
50f2977537d8
[gaim-migrate @ 975]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
964
diff
changeset
|
107 g = g->next; |
50f2977537d8
[gaim-migrate @ 975]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
964
diff
changeset
|
108 continue; |
50f2977537d8
[gaim-migrate @ 975]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
964
diff
changeset
|
109 } |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
110 s = c->oscar_sess->connlist; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
111 while (s) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
112 if (conn == s) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
113 break; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
114 s = s->next; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
115 } |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
116 if (s) break; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
117 g = g->next; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
118 c = NULL; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
119 } |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
120 |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
121 return c; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
122 } |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
123 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
124 static int gaim_parse_auth_resp (struct aim_session_t *, struct command_rx_struct *, ...); |
741
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
125 static int gaim_parse_login (struct aim_session_t *, struct command_rx_struct *, ...); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
126 static int gaim_server_ready (struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
127 static int gaim_handle_redirect (struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
128 static int gaim_parse_oncoming (struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
129 static int gaim_parse_offgoing (struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
130 static int gaim_parse_incoming_im(struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
131 static int gaim_parse_misses (struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
132 static int gaim_parse_user_info (struct aim_session_t *, struct command_rx_struct *, ...); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
133 static int gaim_parse_motd (struct aim_session_t *, struct command_rx_struct *, ...); |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
134 static int gaim_chatnav_info (struct aim_session_t *, struct command_rx_struct *, ...); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
135 static int gaim_chat_join (struct aim_session_t *, struct command_rx_struct *, ...); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
136 static int gaim_chat_leave (struct aim_session_t *, struct command_rx_struct *, ...); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
137 static int gaim_chat_info_update (struct aim_session_t *, struct command_rx_struct *, ...); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
138 static int gaim_chat_incoming_msg(struct aim_session_t *, struct command_rx_struct *, ...); |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
139 static int gaim_parse_msgack (struct aim_session_t *, struct command_rx_struct *, ...); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
140 static int gaim_parse_ratechange (struct aim_session_t *, struct command_rx_struct *, ...); |
771
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
141 static int gaim_parse_evilnotify (struct aim_session_t *, struct command_rx_struct *, ...); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
142 static int gaim_bosrights (struct aim_session_t *, struct command_rx_struct *, ...); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
143 static int gaim_rateresp (struct aim_session_t *, struct command_rx_struct *, ...); |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
144 static int gaim_reportinterval (struct aim_session_t *, struct command_rx_struct *, ...); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
145 static int gaim_parse_msgerr (struct aim_session_t *, struct command_rx_struct *, ...); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
146 static int gaim_parse_buddyrights(struct aim_session_t *, struct command_rx_struct *, ...); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
147 static int gaim_parse_locerr (struct aim_session_t *, struct command_rx_struct *, ...); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
148 |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
149 static int gaim_directim_incoming(struct aim_session_t *, struct command_rx_struct *, ...); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
150 static int gaim_directim_typing (struct aim_session_t *, struct command_rx_struct *, ...); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
151 static int gaim_directim_initiate(struct aim_session_t *, struct command_rx_struct *, ...); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
152 |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
153 static char *msgerrreason[] = { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
154 "Invalid error", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
155 "Invalid SNAC", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
156 "Rate to host", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
157 "Rate to client", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
158 "Not logged in", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
159 "Service unavailable", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
160 "Service not defined", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
161 "Obsolete SNAC", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
162 "Not supported by host", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
163 "Not supported by client", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
164 "Refused by client", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
165 "Reply too big", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
166 "Responses lost", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
167 "Request denied", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
168 "Busted SNAC payload", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
169 "Insufficient rights", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
170 "In local permit/deny", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
171 "Too evil (sender)", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
172 "Too evil (receiver)", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
173 "User temporarily unavailable", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
174 "No match", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
175 "List overflow", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
176 "Request ambiguous", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
177 "Queue full", |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
178 "Not while on AOL" |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
179 }; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
180 static int msgerrreasonlen = 25; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
181 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
182 static void oscar_callback(gpointer data, gint source, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
183 GdkInputCondition condition) { |
288
6e609d42f767
[gaim-migrate @ 298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
283
diff
changeset
|
184 struct aim_conn_t *conn = (struct aim_conn_t *)data; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
185 struct gaim_connection *gc = find_gaim_conn_by_oscar_conn(conn); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
186 if (!gc) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
187 /* oh boy. this is probably bad. i guess the only thing we can really do |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
188 * is return? */ |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
189 debug_print("oscar callback for closed connection.\n"); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
190 return; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
191 } |
1 | 192 |
259
e159ba2486fc
[gaim-migrate @ 269]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
253
diff
changeset
|
193 if (condition & GDK_INPUT_EXCEPTION) { |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
194 hide_login_progress(gc->username, _("Disconnected.")); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
195 signoff(gc); |
259
e159ba2486fc
[gaim-migrate @ 269]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
253
diff
changeset
|
196 return; |
e159ba2486fc
[gaim-migrate @ 269]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
253
diff
changeset
|
197 } |
e159ba2486fc
[gaim-migrate @ 269]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
253
diff
changeset
|
198 if (condition & GDK_INPUT_READ) { |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
199 if (conn->type == AIM_CONN_TYPE_RENDEZVOUS_OUT) { |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
200 debug_print("got information on rendezvous\n"); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
201 if (aim_handlerendconnect(gc->oscar_sess, conn) < 0) { |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
202 debug_print(_("connection error (rend)\n")); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
203 } |
259
e159ba2486fc
[gaim-migrate @ 269]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
253
diff
changeset
|
204 } else { |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
205 if (aim_get_command(gc->oscar_sess, conn) >= 0) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
206 aim_rxdispatch(gc->oscar_sess); |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
207 } else { |
638
525c566741da
[gaim-migrate @ 648]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
604
diff
changeset
|
208 if (conn->type == AIM_CONN_TYPE_RENDEZVOUS && |
525c566741da
[gaim-migrate @ 648]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
604
diff
changeset
|
209 conn->subtype == AIM_CONN_SUBTYPE_OFT_DIRECTIM) { |
525c566741da
[gaim-migrate @ 648]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
604
diff
changeset
|
210 struct conversation *cnv = |
525c566741da
[gaim-migrate @ 648]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
604
diff
changeset
|
211 find_conversation(((struct aim_directim_priv *)conn->priv)->sn); |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
212 debug_print("connection error for directim\n"); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
213 if (cnv) { |
516
ee4e18868584
[gaim-migrate @ 526]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
515
diff
changeset
|
214 make_direct(cnv, FALSE, NULL, 0); |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
215 } |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
216 aim_conn_kill(gc->oscar_sess, &conn); |
704
1d989562af1f
[gaim-migrate @ 714]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
700
diff
changeset
|
217 } else if ((conn->type == AIM_CONN_TYPE_BOS) || |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
218 !(aim_getconn_type(gc->oscar_sess, AIM_CONN_TYPE_BOS))) { |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
219 debug_print(_("major connection error\n")); |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
220 hide_login_progress(gc->username, _("Disconnected.")); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
221 signoff(gc); |
747
eec93c5929b9
[gaim-migrate @ 757]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
746
diff
changeset
|
222 } else if (conn->type == AIM_CONN_TYPE_CHAT) { |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
223 struct chat_connection *c = find_oscar_chat_by_conn(gc, conn); |
833
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
224 char buf[BUF_LONG]; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
225 sprintf(debug_buff, "disconnected from chat room %s\n", c->name); |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
226 debug_print(debug_buff); |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
227 c->conn = NULL; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
228 if (c->inpa > -1) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
229 gdk_input_remove(c->inpa); |
833
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
230 c->inpa = -1; |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
231 c->fd = -1; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
232 aim_conn_kill(gc->oscar_sess, &conn); |
833
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
233 sprintf(buf, _("You have been disconnected from chat room %s."), c->name); |
8d8ef8c3afe2
[gaim-migrate @ 843]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
829
diff
changeset
|
234 do_error_dialog(buf, _("Chat Error!")); |
828
4c71c0e7f04e
[gaim-migrate @ 838]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
812
diff
changeset
|
235 } else if (conn->type == AIM_CONN_TYPE_CHATNAV) { |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
236 if (gc->cnpa > -1) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
237 gdk_input_remove(gc->cnpa); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
238 gc->cnpa = -1; |
828
4c71c0e7f04e
[gaim-migrate @ 838]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
812
diff
changeset
|
239 debug_print("removing chatnav input watcher\n"); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
240 aim_conn_kill(gc->oscar_sess, &conn); |
695
d3db515e9a6e
[gaim-migrate @ 705]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
694
diff
changeset
|
241 } else { |
794
80274f969a09
[gaim-migrate @ 804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
788
diff
changeset
|
242 sprintf(debug_buff, "holy crap! generic connection error! %d\n", |
80274f969a09
[gaim-migrate @ 804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
788
diff
changeset
|
243 conn->type); |
80274f969a09
[gaim-migrate @ 804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
788
diff
changeset
|
244 debug_print(debug_buff); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
245 aim_conn_kill(gc->oscar_sess, &conn); |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
246 } |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
247 } |
259
e159ba2486fc
[gaim-migrate @ 269]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
253
diff
changeset
|
248 } |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
249 } |
1 | 250 } |
251 | |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
252 struct gaim_connection *oscar_login(char *username, char *password) { |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
253 struct aim_session_t *sess; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
254 struct aim_conn_t *conn; |
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
252
diff
changeset
|
255 struct aim_user *u; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
256 char buf[256]; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
257 struct gaim_connection *gc; |
1 | 258 |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
259 sprintf(debug_buff, _("Logging in %s\n"), username); |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
260 debug_print(debug_buff); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
261 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
262 gc = new_gaim_conn(PROTO_OSCAR, username, password); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
263 sess = g_new0(struct aim_session_t, 1); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
264 aim_session_init(sess); |
279
501e09c51cbc
[gaim-migrate @ 289]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
277
diff
changeset
|
265 /* we need an immediate queue because we don't use a while-loop to |
501e09c51cbc
[gaim-migrate @ 289]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
277
diff
changeset
|
266 * see if things need to be sent. */ |
501e09c51cbc
[gaim-migrate @ 289]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
277
diff
changeset
|
267 sess->tx_enqueue = &aim_tx_enqueue__immediate; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
268 gc->oscar_sess = sess; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
269 |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
270 sprintf(buf, _("Looking up %s"), FAIM_LOGIN_SERVER); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
271 conn = aim_newconn(sess, AIM_CONN_TYPE_AUTH, FAIM_LOGIN_SERVER); |
1 | 272 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
273 if (conn == NULL) { |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
274 debug_print(_("internal connection error\n")); |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
275 hide_login_progress(gc->username, _("Unable to login to AIM")); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
276 destroy_gaim_conn(gc); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
277 return NULL; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
278 } else if (conn->fd == -1) { |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
279 if (conn->status & AIM_CONN_STATUS_RESOLVERR) { |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
280 sprintf(debug_buff, _("couldn't resolve host")); |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
281 debug_print(debug_buff); debug_print("\n"); |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
282 hide_login_progress(gc->username, debug_buff); |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
283 } else if (conn->status & AIM_CONN_STATUS_CONNERR) { |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
284 sprintf(debug_buff, _("couldn't connect to host")); |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
285 debug_print(debug_buff); debug_print("\n"); |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
286 hide_login_progress(gc->username, debug_buff); |
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
287 } |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
288 destroy_gaim_conn(gc); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
289 return NULL; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
290 } |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
291 g_snprintf(buf, sizeof(buf), _("Signon: %s"), username); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
292 |
741
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
293 aim_conn_addhandler(sess, conn, 0x0017, 0x0007, gaim_parse_login, 0); |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
294 aim_conn_addhandler(sess, conn, 0x0017, 0x0003, gaim_parse_auth_resp, 0); |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
295 aim_sendconnack(sess, conn); |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
296 aim_request_login(sess, conn, username); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
297 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
298 gc->inpa = gdk_input_add(conn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
288
6e609d42f767
[gaim-migrate @ 298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
283
diff
changeset
|
299 oscar_callback, conn); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
300 |
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
252
diff
changeset
|
301 u = find_user(username); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
302 sprintf(gc->user_info, "%s", u->user_info); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
303 gc->options = u->options; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
304 save_prefs(); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
305 |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
306 debug_print(_("Password sent, waiting for response\n")); |
1 | 307 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
308 return gc; |
1 | 309 } |
310 | |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
311 void oscar_close(struct gaim_connection *gc) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
312 if (gc->protocol != PROTO_OSCAR) return; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
313 if (gc->inpa > 0) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
314 gdk_input_remove(gc->inpa); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
315 gc->inpa = -1; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
316 if (gc->cnpa > 0) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
317 gdk_input_remove(gc->cnpa); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
318 gc->cnpa = -1; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
319 if (gc->paspa > 0) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
320 gdk_input_remove(gc->paspa); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
321 gc->paspa = -1; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
322 aim_logoff(gc->oscar_sess); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
323 g_free(gc->oscar_sess); |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
324 debug_print(_("Signed off.\n")); |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
325 } |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
326 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
327 int gaim_parse_auth_resp(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
328 struct command_rx_struct *command, ...) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
329 struct aim_conn_t *bosconn = NULL; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
330 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
331 sprintf(debug_buff, "inside auth_resp (Screen name: %s)\n", |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
332 sess->logininfo.screen_name); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
333 debug_print(debug_buff); |
1 | 334 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
335 if (sess->logininfo.errorcode) { |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
336 switch (sess->logininfo.errorcode) { |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
337 case 0x18: |
392
df5127560034
[gaim-migrate @ 402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
388
diff
changeset
|
338 /* connecting too frequently */ |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
339 do_error_dialog(_("You have been connecting and disconnecting too frequently. Wait ten minutes and try again. If you continue to try, you will need to wait even longer."), _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
340 plugin_event(event_error, (void *)983, 0, 0); |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
341 break; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
342 case 0x05: |
392
df5127560034
[gaim-migrate @ 402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
388
diff
changeset
|
343 /* Incorrect nick/password */ |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
344 do_error_dialog(_("Incorrect nickname or password."), _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
345 plugin_event(event_error, (void *)980, 0, 0); |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
346 break; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
347 case 0x1c: |
392
df5127560034
[gaim-migrate @ 402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
388
diff
changeset
|
348 /* client too old */ |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
349 do_error_dialog(_("The client version you are using is too old. Please upgrade at http://www.marko.net/gaim/"), _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
350 plugin_event(event_error, (void *)989, 0, 0); |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
351 break; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
352 } |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
353 sprintf(debug_buff, "Login Error Code 0x%04x\n", |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
354 sess->logininfo.errorcode); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
355 debug_print(debug_buff); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
356 sprintf(debug_buff, "Error URL: %s\n", |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
357 sess->logininfo.errorurl); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
358 debug_print(debug_buff); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
359 #ifdef USE_APPLET |
746
5a908dd5cfc4
[gaim-migrate @ 756]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
744
diff
changeset
|
360 set_user_state(offline); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
361 #endif |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
362 gdk_input_remove(gc->inpa); |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
363 hide_login_progress(gc->username, _("Authentication Failed")); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
364 signoff(gc); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
365 return 0; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
366 } |
1 | 367 |
368 | |
946
acd4d81f2afc
[gaim-migrate @ 956]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
930
diff
changeset
|
369 if (sess->logininfo.email) { |
acd4d81f2afc
[gaim-migrate @ 956]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
930
diff
changeset
|
370 sprintf(debug_buff, "Email: %s\n", sess->logininfo.email); |
acd4d81f2afc
[gaim-migrate @ 956]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
930
diff
changeset
|
371 debug_print(debug_buff); |
acd4d81f2afc
[gaim-migrate @ 956]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
930
diff
changeset
|
372 } else { |
acd4d81f2afc
[gaim-migrate @ 956]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
930
diff
changeset
|
373 debug_print("Email is NULL\n"); |
acd4d81f2afc
[gaim-migrate @ 956]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
930
diff
changeset
|
374 } |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
375 sprintf(debug_buff, "Closing auth connection...\n"); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
376 debug_print(debug_buff); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
377 gdk_input_remove(gc->inpa); |
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
335
diff
changeset
|
378 aim_conn_kill(sess, &command->conn); |
1 | 379 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
380 bosconn = aim_newconn(sess, AIM_CONN_TYPE_BOS, sess->logininfo.BOSIP); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
381 if (bosconn == NULL) { |
1 | 382 #ifdef USE_APPLET |
746
5a908dd5cfc4
[gaim-migrate @ 756]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
744
diff
changeset
|
383 set_user_state(offline); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
384 #endif |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
385 hide_login_progress(gc->username, _("Internal Error")); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
386 destroy_gaim_conn(gc); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
387 return -1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
388 } else if (bosconn->status != 0) { |
1 | 389 #ifdef USE_APPLET |
746
5a908dd5cfc4
[gaim-migrate @ 756]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
744
diff
changeset
|
390 set_user_state(offline); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
391 #endif |
975
a45991891aba
[gaim-migrate @ 985]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
971
diff
changeset
|
392 hide_login_progress(gc->username, _("Could Not Connect")); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
393 destroy_gaim_conn(gc); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
394 return -1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
395 } |
1 | 396 |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
397 aim_conn_addhandler(sess, bosconn, 0x0009, 0x0003, gaim_bosrights, 0); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
398 aim_conn_addhandler(sess, bosconn, 0x0001, 0x0007, gaim_rateresp, 0); /* rate info */ |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
399 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_ACK, AIM_CB_ACK_ACK, NULL, 0); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
400 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_SERVERREADY, gaim_server_ready, 0); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
401 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_RATEINFO, NULL, 0); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
402 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_REDIRECT, gaim_handle_redirect, 0); |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
403 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_STS, AIM_CB_STS_SETREPORTINTERVAL, gaim_reportinterval, 0); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
404 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_BUD, AIM_CB_BUD_RIGHTSINFO, gaim_parse_buddyrights, 0); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
405 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_BUD, AIM_CB_BUD_ONCOMING, gaim_parse_oncoming, 0); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
406 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_BUD, AIM_CB_BUD_OFFGOING, gaim_parse_offgoing, 0); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
407 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_MSG, AIM_CB_MSG_INCOMING, gaim_parse_incoming_im, 0); |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
408 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_LOC, AIM_CB_LOC_ERROR, gaim_parse_locerr, 0); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
409 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_MSG, AIM_CB_MSG_MISSEDCALL, gaim_parse_misses, 0); |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
410 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_RATECHANGE, gaim_parse_ratechange, 0); |
771
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
411 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_EVIL, gaim_parse_evilnotify, 0); |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
412 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_MSG, AIM_CB_MSG_ERROR, gaim_parse_msgerr, 0); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
413 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_LOC, AIM_CB_LOC_USERINFO, gaim_parse_user_info, 0); |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
414 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_MSG, AIM_CB_MSG_ACK, gaim_parse_msgack, 0); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
415 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_CTN, AIM_CB_CTN_DEFAULT, aim_parse_unknown, 0); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
416 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_DEFAULT, aim_parse_unknown, 0); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
417 aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_MOTD, gaim_parse_motd, 0); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
418 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
419 aim_auth_sendcookie(sess, bosconn, sess->logininfo.cookie); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
420 gc->oscar_conn = bosconn; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
421 gc->inpa = gdk_input_add(bosconn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
288
6e609d42f767
[gaim-migrate @ 298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
283
diff
changeset
|
422 oscar_callback, bosconn); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
423 return 1; |
1 | 424 } |
425 | |
741
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
426 int gaim_parse_login(struct aim_session_t *sess, |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
427 struct command_rx_struct *command, ...) { |
857
41bfae606d39
[gaim-migrate @ 867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
840
diff
changeset
|
428 struct client_info_s info = {"AOL Instant Messenger (SM), version 4.1.2010/WIN32", 4, 30, 3141, "us", "en", 0x0004, 0x0001, 0x055}; |
840
595ac7759563
[gaim-migrate @ 850]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
838
diff
changeset
|
429 char *key; |
741
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
430 va_list ap; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
431 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
741
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
432 |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
433 va_start(ap, command); |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
434 key = va_arg(ap, char *); |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
435 va_end(ap); |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
436 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
437 aim_send_login(sess, command->conn, gc->username, gc->password, &info, key); |
747
eec93c5929b9
[gaim-migrate @ 757]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
746
diff
changeset
|
438 return 1; |
741
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
439 } |
58a6e6e26695
[gaim-migrate @ 751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
736
diff
changeset
|
440 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
441 int gaim_server_ready(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
442 struct command_rx_struct *command, ...) { |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
443 static int id = 1; |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
444 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
445 switch (command->conn->type) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
446 case AIM_CONN_TYPE_BOS: |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
447 aim_setversions(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
448 aim_bos_reqrate(sess, command->conn); /* request rate info */ |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
449 debug_print("done with BOS ServerReady\n"); |
1 | 450 break; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
451 case AIM_CONN_TYPE_CHATNAV: |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
452 debug_print("chatnav: got server ready\n"); |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
453 aim_conn_addhandler(sess, command->conn, AIM_CB_FAM_CTN, AIM_CB_CTN_INFO, gaim_chatnav_info, 0); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
454 aim_bos_reqrate(sess, command->conn); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
455 aim_bos_ackrateresp(sess, command->conn); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
456 aim_chatnav_clientready(sess, command->conn); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
457 aim_chatnav_reqrights(sess, command->conn); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
458 break; |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
459 case AIM_CONN_TYPE_CHAT: |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
460 debug_print("chat: got server ready\n"); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
461 aim_conn_addhandler(sess, command->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERJOIN, gaim_chat_join, 0); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
462 aim_conn_addhandler(sess, command->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERLEAVE, gaim_chat_leave, 0); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
463 aim_conn_addhandler(sess, command->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_ROOMINFOUPDATE, gaim_chat_info_update, 0); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
464 aim_conn_addhandler(sess, command->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_INCOMINGMSG, gaim_chat_incoming_msg, 0); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
465 aim_bos_reqrate(sess, command->conn); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
466 aim_bos_ackrateresp(sess, command->conn); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
467 aim_chat_clientready(sess, command->conn); |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
468 serv_got_joined_chat(gc, id++, aim_chat_getname(command->conn)); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
469 break; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
470 case AIM_CONN_TYPE_RENDEZVOUS: |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
471 aim_conn_addhandler(sess, command->conn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMINCOMING, gaim_directim_incoming, 0); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
472 break; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
473 default: /* huh? */ |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
474 sprintf(debug_buff, "server ready: got unexpected connection type %04x\n", command->conn->type); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
475 debug_print(debug_buff); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
476 break; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
477 } |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
478 return 1; |
1 | 479 } |
480 | |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
481 int gaim_handle_redirect(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
482 struct command_rx_struct *command, ...) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
483 va_list ap; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
484 int serviceid; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
485 char *ip; |
840
595ac7759563
[gaim-migrate @ 850]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
838
diff
changeset
|
486 unsigned char *cookie; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
487 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
1 | 488 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
489 va_start(ap, command); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
490 serviceid = va_arg(ap, int); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
491 ip = va_arg(ap, char *); |
840
595ac7759563
[gaim-migrate @ 850]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
838
diff
changeset
|
492 cookie = va_arg(ap, unsigned char *); |
1 | 493 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
494 switch(serviceid) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
495 case 0x7: /* Authorizer */ |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
496 debug_print("Reconnecting with authorizor...\n"); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
497 { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
498 struct aim_conn_t *tstconn = aim_newconn(sess, AIM_CONN_TYPE_AUTH, ip); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
499 if (tstconn == NULL || tstconn->status >= AIM_CONN_STATUS_RESOLVERR) |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
500 debug_print("unable to reconnect with authorizer\n"); |
331
f3c8d79688db
[gaim-migrate @ 341]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
319
diff
changeset
|
501 else { |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
502 gc->paspa = gdk_input_add(tstconn->fd, |
331
f3c8d79688db
[gaim-migrate @ 341]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
319
diff
changeset
|
503 GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
f3c8d79688db
[gaim-migrate @ 341]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
319
diff
changeset
|
504 oscar_callback, tstconn); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
505 aim_auth_sendcookie(sess, tstconn, cookie); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
506 } |
331
f3c8d79688db
[gaim-migrate @ 341]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
319
diff
changeset
|
507 } |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
508 break; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
509 case 0xd: /* ChatNav */ |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
510 { |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
511 struct aim_conn_t *tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHATNAV, ip); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
512 if (tstconn == NULL || tstconn->status >= AIM_CONN_STATUS_RESOLVERR) { |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
513 debug_print("unable to connect to chatnav server\n"); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
514 return 1; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
515 } |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
516 aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, gaim_server_ready, 0); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
517 aim_auth_sendcookie(sess, tstconn, cookie); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
518 gc->cnpa = gdk_input_add(tstconn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
519 oscar_callback, tstconn); |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
520 } |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
521 debug_print("chatnav: connected\n"); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
522 break; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
523 case 0xe: /* Chat */ |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
524 { |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
525 struct aim_conn_t *tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHAT, ip); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
526 char *roomname = va_arg(ap, char *); |
312
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
527 struct chat_connection *ccon; |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
528 if (tstconn == NULL || tstconn->status >= AIM_CONN_STATUS_RESOLVERR) { |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
529 debug_print("unable to connect to chat server\n"); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
530 return 1; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
531 } |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
532 sprintf(debug_buff, "Connected to chat room %s\n", roomname); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
533 debug_print(debug_buff); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
534 |
312
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
535 ccon = g_new0(struct chat_connection, 1); |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
536 ccon->conn = tstconn; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
537 ccon->fd = tstconn->fd; |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
538 ccon->name = g_strdup(roomname); |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
539 |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
540 ccon->inpa = gdk_input_add(tstconn->fd, |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
541 GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
542 oscar_callback, tstconn); |
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
543 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
544 gc->oscar_chats = g_slist_append(gc->oscar_chats, ccon); |
312
3069be4c291e
[gaim-migrate @ 322]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
302
diff
changeset
|
545 |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
546 aim_chat_attachname(tstconn, roomname); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
547 aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, gaim_server_ready, 0); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
548 aim_auth_sendcookie(sess, tstconn, cookie); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
549 } |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
550 break; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
551 default: /* huh? */ |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
552 sprintf(debug_buff, "got redirect for unknown service 0x%04x\n", |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
553 serviceid); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
554 debug_print(debug_buff); |
1 | 555 break; |
556 } | |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
557 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
558 va_end(ap); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
559 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
560 return 1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
561 } |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
562 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
563 int gaim_parse_oncoming(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
564 struct command_rx_struct *command, ...) { |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
565 struct aim_userinfo_s *info; |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
566 time_t time_idle; |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
567 int type = 0; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
568 |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
569 va_list ap; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
570 va_start(ap, command); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
571 info = va_arg(ap, struct aim_userinfo_s *); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
572 va_end(ap); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
573 |
900
e18815f5a4e9
[gaim-migrate @ 910]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
891
diff
changeset
|
574 if (info->flags & AIM_FLAG_UNCONFIRMED) |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
575 type |= UC_UNCONFIRMED; |
900
e18815f5a4e9
[gaim-migrate @ 910]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
891
diff
changeset
|
576 else if (info->flags & AIM_FLAG_ADMINISTRATOR) |
771
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
577 type |= UC_ADMIN; |
900
e18815f5a4e9
[gaim-migrate @ 910]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
891
diff
changeset
|
578 else if (info->flags & AIM_FLAG_AOL) |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
579 type |= UC_AOL; |
900
e18815f5a4e9
[gaim-migrate @ 910]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
891
diff
changeset
|
580 else if (info->flags & AIM_FLAG_FREE) |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
581 type |= UC_NORMAL; |
900
e18815f5a4e9
[gaim-migrate @ 910]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
891
diff
changeset
|
582 if (info->flags & AIM_FLAG_AWAY) |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
583 type |= UC_UNAVAILABLE; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
584 |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
585 if (info->idletime) { |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
586 time(&time_idle); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
587 time_idle -= info->idletime*60; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
588 } else |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
589 time_idle = 0; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
590 |
601
e670cdb5fb2f
[gaim-migrate @ 611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
592
diff
changeset
|
591 serv_got_update(info->sn, 1, info->warnlevel/10, info->onlinesince, |
513
eaddaa0dbbcb
[gaim-migrate @ 523]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
512
diff
changeset
|
592 time_idle, type, info->capabilities); |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
593 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
594 return 1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
595 } |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
596 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
597 int gaim_parse_offgoing(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
598 struct command_rx_struct *command, ...) { |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
599 char *sn; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
600 va_list ap; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
601 |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
602 va_start(ap, command); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
603 sn = va_arg(ap, char *); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
604 va_end(ap); |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
605 |
513
eaddaa0dbbcb
[gaim-migrate @ 523]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
512
diff
changeset
|
606 serv_got_update(sn, 0, 0, 0, 0, 0, 0); |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
607 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
608 return 1; |
1 | 609 } |
610 | |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
611 static void accept_directim(GtkWidget *w, GtkWidget *m) |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
612 { |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
613 struct aim_conn_t *newconn; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
614 struct aim_directim_priv *priv; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
615 struct gaim_connection *gc; |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
616 int watcher; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
617 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
618 priv = (struct aim_directim_priv *)gtk_object_get_user_data(GTK_OBJECT(m)); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
619 gc = (struct gaim_connection *)gtk_object_get_user_data(GTK_OBJECT(w)); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
620 gtk_widget_destroy(m); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
621 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
622 if (!(newconn = aim_directim_connect(gc->oscar_sess, gc->oscar_conn, priv))) { |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
623 debug_print("imimage: could not connect\n"); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
624 return; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
625 } |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
626 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
627 aim_conn_addhandler(gc->oscar_sess, newconn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMINCOMING, gaim_directim_incoming, 0); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
628 aim_conn_addhandler(gc->oscar_sess, newconn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMTYPING, gaim_directim_typing, 0); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
629 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
630 watcher = gdk_input_add(newconn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
631 oscar_callback, newconn); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
632 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
633 sprintf(debug_buff, "DirectIM: connected to %s\n", priv->sn); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
634 debug_print(debug_buff); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
635 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
636 serv_got_imimage(gc, priv->sn, priv->cookie, priv->ip, newconn, watcher); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
637 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
638 g_free(priv); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
639 } |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
640 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
641 static void cancel_directim(GtkWidget *w, GtkWidget *m) |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
642 { |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
643 gtk_widget_destroy(m); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
644 } |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
645 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
646 static void directim_dialog(struct gaim_connection *gc, struct aim_directim_priv *priv) |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
647 { |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
648 GtkWidget *window; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
649 GtkWidget *vbox; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
650 GtkWidget *hbox; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
651 GtkWidget *label; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
652 GtkWidget *yes; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
653 GtkWidget *no; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
654 char buf[BUF_LONG]; |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
655 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
656 window = gtk_window_new(GTK_WINDOW_DIALOG); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
657 gtk_window_set_title(GTK_WINDOW(window), _("Accept Direct IM?")); |
905 | 658 gtk_window_set_wmclass(GTK_WINDOW(window), "directim", "Gaim"); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
659 gtk_widget_realize(window); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
660 aol_icon(window->window); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
661 gtk_object_set_user_data(GTK_OBJECT(window), (void *)priv); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
662 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
663 vbox = gtk_vbox_new(TRUE, 5); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
664 gtk_container_add(GTK_CONTAINER(window), vbox); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
665 gtk_widget_show(vbox); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
666 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
667 sprintf(buf, _("%s has requested to directly connect to your computer. " |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
668 "Do you accept?"), priv->sn); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
669 label = gtk_label_new(buf); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
670 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
671 gtk_widget_show(label); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
672 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
673 hbox = gtk_hbox_new(TRUE, 10); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
674 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
675 gtk_widget_show(hbox); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
676 |
604
0b1a132e0f75
[gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
601
diff
changeset
|
677 yes = picture_button(window, _("Accept"), ok_xpm); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
678 gtk_box_pack_start(GTK_BOX(hbox), yes, FALSE, FALSE, 5); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
679 gtk_object_set_user_data(GTK_OBJECT(yes), gc); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
680 |
604
0b1a132e0f75
[gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
601
diff
changeset
|
681 no = picture_button(window, _("Cancel"), cancel_xpm); |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
682 gtk_box_pack_end(GTK_BOX(hbox), no, FALSE, FALSE, 5); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
683 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
684 gtk_signal_connect(GTK_OBJECT(yes), "clicked", |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
685 GTK_SIGNAL_FUNC(accept_directim), window); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
686 gtk_signal_connect(GTK_OBJECT(no), "clicked", |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
687 GTK_SIGNAL_FUNC(cancel_directim), window); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
688 |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
689 gtk_widget_show(window); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
690 } |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
691 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
692 int gaim_parse_incoming_im(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
693 struct command_rx_struct *command, ...) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
694 int channel; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
695 va_list ap; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
696 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
1 | 697 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
698 va_start(ap, command); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
699 channel = va_arg(ap, int); |
1 | 700 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
701 /* channel 1: standard message */ |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
702 if (channel == 1) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
703 struct aim_userinfo_s *userinfo; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
704 char *msg = NULL; |
744
f53e8f48628d
[gaim-migrate @ 754]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
741
diff
changeset
|
705 char *tmp = g_malloc(BUF_LONG); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
706 u_int icbmflags = 0; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
707 u_short flag1, flag2; |
1 | 708 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
709 userinfo = va_arg(ap, struct aim_userinfo_s *); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
710 msg = va_arg(ap, char *); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
711 icbmflags = va_arg(ap, u_int); |
464 | 712 flag1 = (u_short)va_arg(ap, u_int); |
713 flag2 = (u_short)va_arg(ap, u_int); | |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
714 va_end(ap); |
1 | 715 |
744
f53e8f48628d
[gaim-migrate @ 754]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
741
diff
changeset
|
716 g_snprintf(tmp, BUF_LONG, "%s", msg); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
717 serv_got_im(gc, userinfo->sn, tmp, icbmflags & AIM_IMFLAGS_AWAY); |
744
f53e8f48628d
[gaim-migrate @ 754]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
741
diff
changeset
|
718 g_free(tmp); |
252
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
719 } else if (channel == 2) { |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
720 struct aim_userinfo_s *userinfo; |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
721 int rendtype = va_arg(ap, int); |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
722 if (rendtype & AIM_CAPS_CHAT) { |
252
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
723 char *msg, *encoding, *lang; |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
724 struct aim_chat_roominfo *roominfo; |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
725 |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
726 userinfo = va_arg(ap, struct aim_userinfo_s *); |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
727 roominfo = va_arg(ap, struct aim_chat_roominfo *); |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
728 msg = va_arg(ap, char *); |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
729 encoding = va_arg(ap, char *); |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
730 lang = va_arg(ap, char *); |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
731 va_end(ap); |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
732 |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
733 serv_got_chat_invite(gc, |
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
734 roominfo->name, |
693
30a8e386849d
[gaim-migrate @ 703]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
692
diff
changeset
|
735 roominfo->exchange, |
252
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
736 userinfo->sn, |
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
737 msg); |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
738 } else if (rendtype & AIM_CAPS_SENDFILE) { |
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
335
diff
changeset
|
739 /* libfaim won't tell us that we got this just yet */ |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
740 } else if (rendtype & AIM_CAPS_GETFILE) { |
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
335
diff
changeset
|
741 /* nor will it tell us this. but it's still there */ |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
742 } else if (rendtype & AIM_CAPS_VOICE) { |
369
cf895313fc50
[gaim-migrate @ 379]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
743 /* this one libfaim tells us unuseful info about */ |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
744 } else if (rendtype & AIM_CAPS_BUDDYICON) { |
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
745 /* bah */ |
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
746 } else if (rendtype & AIM_CAPS_IMIMAGE) { |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
747 /* DirectIM stuff */ |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
748 struct aim_directim_priv *priv, *priv2; |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
749 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
750 userinfo = va_arg(ap, struct aim_userinfo_s *); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
751 priv = va_arg(ap, struct aim_directim_priv *); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
752 va_end(ap); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
753 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
754 sprintf(debug_buff, "DirectIM request from %s (%s)\n", userinfo->sn, priv->ip); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
755 debug_print(debug_buff); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
756 |
526
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
757 priv2 = g_new0(struct aim_directim_priv, 1); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
758 strcpy(priv2->cookie, priv->cookie); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
759 strcpy(priv2->sn, priv->sn); |
5bf71b39cba2
[gaim-migrate @ 536]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
523
diff
changeset
|
760 strcpy(priv2->ip, priv->ip); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
761 directim_dialog(gc, priv2); |
283
0f14e6d8a51b
[gaim-migrate @ 293]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
282
diff
changeset
|
762 } else { |
0f14e6d8a51b
[gaim-migrate @ 293]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
282
diff
changeset
|
763 sprintf(debug_buff, "Unknown rendtype %d\n", rendtype); |
0f14e6d8a51b
[gaim-migrate @ 293]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
282
diff
changeset
|
764 debug_print(debug_buff); |
252
4a41f8323022
[gaim-migrate @ 262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
765 } |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
766 } |
1 | 767 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
768 return 1; |
1 | 769 } |
770 | |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
771 int gaim_parse_misses(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
772 struct command_rx_struct *command, ...) { |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
773 va_list ap; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
774 u_short chan, nummissed, reason; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
775 struct aim_userinfo_s *userinfo; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
776 char buf[1024]; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
777 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
778 va_start(ap, command); |
838
7714587cd1f9
[gaim-migrate @ 848]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
836
diff
changeset
|
779 chan = (u_short)va_arg(ap, u_int); |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
780 userinfo = va_arg(ap, struct aim_userinfo_s *); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
781 nummissed = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
782 reason = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
783 va_end(ap); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
784 |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
785 switch(reason) { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
786 case 1: |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
787 /* message too large */ |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
788 sprintf(buf, _("You missed a message from %s because it was too large."), userinfo->sn); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
789 do_error_dialog(buf, _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
790 plugin_event(event_error, (void *)961, 0, 0); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
791 break; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
792 default: |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
793 sprintf(buf, _("You missed a message from %s for unknown reasons."), userinfo->sn); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
794 do_error_dialog(buf, _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
795 plugin_event(event_error, (void *)970, 0, 0); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
796 break; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
797 } |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
798 |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
799 return 1; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
800 } |
709
957957d0dc2c
[gaim-migrate @ 719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
704
diff
changeset
|
801 |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
802 int gaim_parse_msgerr(struct aim_session_t *sess, |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
803 struct command_rx_struct *command, ...) { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
804 va_list ap; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
805 char *destn; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
806 u_short reason; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
807 char buf[1024]; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
808 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
809 va_start(ap, command); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
810 destn = va_arg(ap, char *); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
811 reason = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
812 va_end(ap); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
813 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
814 sprintf(buf, _("Your message to %s did not get sent: %s"), destn, |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
815 (reason < msgerrreasonlen) ? msgerrreason[reason] : _("Reason unknown")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
816 do_error_dialog(buf, _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
817 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
818 return 1; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
819 } |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
820 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
821 int gaim_parse_locerr(struct aim_session_t *sess, |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
822 struct command_rx_struct *command, ...) { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
823 va_list ap; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
824 char *destn; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
825 u_short reason; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
826 char buf[1024]; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
827 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
828 va_start(ap, command); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
829 destn = va_arg(ap, char *); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
830 reason = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
831 va_end(ap); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
832 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
833 sprintf(buf, _("User information for %s unavailable: %s"), destn, |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
834 (reason < msgerrreasonlen) ? msgerrreason[reason] : _("Reason unknown")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
835 do_error_dialog(buf, _("Gaim - Error")); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
836 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
837 return 1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
838 } |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
839 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
840 int gaim_parse_user_info(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
841 struct command_rx_struct *command, ...) { |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
842 struct aim_userinfo_s *info; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
843 char *prof_enc = NULL, *prof = NULL; |
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
844 u_short infotype; |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
845 char buf[BUF_LONG]; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
846 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
847 va_list ap; |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
848 |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
849 va_start(ap, command); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
850 info = va_arg(ap, struct aim_userinfo_s *); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
851 prof_enc = va_arg(ap, char *); |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
852 prof = va_arg(ap, char *); |
464 | 853 infotype = (u_short)va_arg(ap, u_int); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
854 va_end(ap); |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
855 |
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
856 if (prof == NULL || !strlen(prof)) { |
392
df5127560034
[gaim-migrate @ 402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
388
diff
changeset
|
857 /* no info/away message */ |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
858 char buf[1024]; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
859 sprintf(buf, _("%s has no info/away message."), info->sn); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
860 do_error_dialog(buf, _("Gaim - Error")); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
861 plugin_event(event_error, (void *)977, 0, 0); |
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
862 return 1; |
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
863 } |
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
864 |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
865 snprintf(buf, sizeof buf, _("Username : <B>%s</B>\n<BR>" |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
866 "Warning Level : <B>%d %%</B>\n<BR>" |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
867 "Online Since : <B>%s</B><BR>" |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
868 "Idle Minutes : <B>%d</B>\n<BR><HR><BR>" |
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
869 "%s\n"), |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
870 info->sn, |
601
e670cdb5fb2f
[gaim-migrate @ 611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
592
diff
changeset
|
871 info->warnlevel/10, |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
872 asctime(localtime(&info->onlinesince)), |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
873 info->idletime, |
592
7c75d69a1129
[gaim-migrate @ 602]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
535
diff
changeset
|
874 infotype == AIM_GETINFO_GENERALINFO ? prof : |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
875 away_subs(prof, gc->username)); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
876 g_show_info_text(away_subs(buf, gc->username)); |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
243
diff
changeset
|
877 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
878 return 1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
879 } |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
880 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
881 int gaim_parse_motd(struct aim_session_t *sess, |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
882 struct command_rx_struct *command, ...) { |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
883 char *msg; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
884 u_short id; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
885 va_list ap; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
886 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
887 |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
888 va_start(ap, command); |
464 | 889 id = (u_short)va_arg(ap, u_int); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
890 msg = va_arg(ap, char *); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
891 va_end(ap); |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
892 |
771
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
893 sprintf(debug_buff, "MOTD: %s (%d)\n", msg, id); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
894 debug_print(debug_buff); |
282
918db59d3814
[gaim-migrate @ 292]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
279
diff
changeset
|
895 sprintf(debug_buff, "Gaim %s / Libfaim %s\n", |
918db59d3814
[gaim-migrate @ 292]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
279
diff
changeset
|
896 VERSION, aim_getbuildstring()); |
918db59d3814
[gaim-migrate @ 292]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
279
diff
changeset
|
897 debug_print(debug_buff); |
771
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
898 if (id != 4) |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
899 do_error_dialog(_("Your connection may be lost."), |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
900 _("AOL error")); |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
901 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
902 if (gc->keepalive < 0) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
903 update_keepalive(gc, gc->keepalive); |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
904 |
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
905 return 1; |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
906 } |
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
907 |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
908 int gaim_chatnav_info(struct aim_session_t *sess, |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
909 struct command_rx_struct *command, ...) { |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
910 va_list ap; |
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
911 u_short type; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
912 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
445
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
913 |
e4c34ca88d9b
[gaim-migrate @ 455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
423
diff
changeset
|
914 va_start(ap, command); |
464 | 915 type = (u_short)va_arg(ap, u_int); |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
916 |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
917 switch(type) { |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
918 case 0x0002: { |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
919 int maxrooms; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
920 struct aim_chat_exchangeinfo *exchanges; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
921 int exchangecount, i = 0; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
922 |
466 | 923 maxrooms = (u_char)va_arg(ap, u_int); |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
924 exchangecount = va_arg(ap, int); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
925 exchanges = va_arg(ap, struct aim_chat_exchangeinfo *); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
926 va_end(ap); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
927 |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
928 debug_print("chat info: Chat Rights:\n"); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
929 sprintf(debug_buff, "chat info: \tMax Concurrent Rooms: %d\n", maxrooms); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
930 debug_print(debug_buff); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
931 sprintf(debug_buff, "chat info: \tExchange List: (%d total)\n", exchangecount); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
932 debug_print(debug_buff); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
933 while (i < exchangecount) { |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
934 sprintf(debug_buff, "chat info: \t\t%x: %s (%s/%s)\n", |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
935 exchanges[i].number, |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
936 exchanges[i].name, |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
937 exchanges[i].charset1, |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
938 exchanges[i].lang1); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
939 debug_print(debug_buff); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
940 i++; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
941 } |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
942 if (gc->create_exchange) { |
904
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
943 sprintf(debug_buff, "creating room %s\n", |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
944 gc->create_name); |
904
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
945 debug_print(debug_buff); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
946 aim_chatnav_createroom(sess, command->conn, gc->create_name, gc->create_exchange); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
947 gc->create_exchange = 0; |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
948 g_free(gc->create_name); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
949 gc->create_name = NULL; |
904
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
950 } |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
951 } |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
952 break; |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
953 case 0x0008: { |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
954 char *fqcn, *name, *ck; |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
955 u_short instance, flags, maxmsglen, maxoccupancy, unknown; |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
956 unsigned char createperms; |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
957 unsigned long createtime; |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
958 |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
959 fqcn = va_arg(ap, char *); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
960 instance = (u_short)va_arg(ap, u_int); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
961 flags = (u_short)va_arg(ap, u_int); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
962 createtime = va_arg(ap, unsigned long); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
963 maxmsglen = (u_short)va_arg(ap, u_int); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
964 maxoccupancy = (u_short)va_arg(ap, u_int); |
906
7b976e5e1c3a
[gaim-migrate @ 916]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
905
diff
changeset
|
965 createperms = (unsigned char)va_arg(ap, int); |
904
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
966 unknown = (u_short)va_arg(ap, u_int); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
967 name = va_arg(ap, char *); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
968 ck = va_arg(ap, char *); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
969 va_end(ap); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
970 |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
971 sprintf(debug_buff, "created room: %s %d %d %lu %d %d %d %d %s %s\n", fqcn, instance, flags, createtime, maxmsglen, maxoccupancy, createperms, unknown, name, ck); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
972 debug_print(debug_buff); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
973 if (flags & 0x4) { |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
974 sprintf(debug_buff, "joining %s on exchange 5\n", name); |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
975 debug_print(debug_buff); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
976 aim_chat_join(gc->oscar_sess, gc->oscar_conn, 5, ck); |
904
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
977 } else |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
978 sprintf(debug_buff, "joining %s on exchange 4\n", name);{ |
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
979 debug_print(debug_buff); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
980 aim_chat_join(gc->oscar_sess, gc->oscar_conn, 4, ck); |
904
e1a7fc4482b9
[gaim-migrate @ 914]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
900
diff
changeset
|
981 } |
302
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
982 } |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
983 break; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
984 default: |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
985 va_end(ap); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
986 sprintf(debug_buff, "chatnav info: unknown type (%04x)\n", type); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
987 debug_print(debug_buff); |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
988 break; |
61894ab8c47e
[gaim-migrate @ 312]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
288
diff
changeset
|
989 } |
242
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
990 return 1; |
14fc16f579c8
[gaim-migrate @ 252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
991 } |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
992 |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
993 int gaim_chat_join(struct aim_session_t *sess, |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
994 struct command_rx_struct *command, ...) { |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
995 va_list ap; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
996 int count, i = 0; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
997 struct aim_userinfo_s *info; |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
998 struct gaim_connection *g = find_gaim_conn_by_aim_sess(sess); |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
999 |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
1000 GSList *bcs = g->buddy_chats; |
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
466
diff
changeset
|
1001 struct conversation *b = NULL; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1002 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1003 va_start(ap, command); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1004 count = va_arg(ap, int); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1005 info = va_arg(ap, struct aim_userinfo_s *); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1006 va_end(ap); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1007 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1008 while(bcs) { |
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
466
diff
changeset
|
1009 b = (struct conversation *)bcs->data; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1010 if (!strcasecmp(b->name, (char *)command->conn->priv)) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1011 break; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1012 bcs = bcs->next; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1013 b = NULL; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1014 } |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1015 if (!b) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1016 return 1; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1017 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1018 while (i < count) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1019 add_chat_buddy(b, info[i++].sn); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1020 |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1021 return 1; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1022 } |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1023 |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1024 int gaim_chat_leave(struct aim_session_t *sess, |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1025 struct command_rx_struct *command, ...) { |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1026 va_list ap; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1027 int count, i = 0; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1028 struct aim_userinfo_s *info; |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
1029 struct gaim_connection *g = find_gaim_conn_by_aim_sess(sess); |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1030 |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
1031 GSList *bcs = g->buddy_chats; |
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
466
diff
changeset
|
1032 struct conversation *b = NULL; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1033 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1034 va_start(ap, command); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1035 count = va_arg(ap, int); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1036 info = va_arg(ap, struct aim_userinfo_s *); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1037 va_end(ap); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1038 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1039 while(bcs) { |
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
466
diff
changeset
|
1040 b = (struct conversation *)bcs->data; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1041 if (!strcasecmp(b->name, (char *)command->conn->priv)) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1042 break; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1043 bcs = bcs->next; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1044 b = NULL; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1045 } |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1046 if (!b) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1047 return 1; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1048 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1049 while (i < count) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1050 remove_chat_buddy(b, info[i++].sn); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1051 |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1052 return 1; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1053 } |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1054 |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1055 int gaim_chat_info_update(struct aim_session_t *sess, |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1056 struct command_rx_struct *command, ...) { |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1057 debug_print("inside chat_info_update\n"); |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1058 return 1; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1059 } |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1060 |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1061 int gaim_chat_incoming_msg(struct aim_session_t *sess, |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1062 struct command_rx_struct *command, ...) { |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1063 va_list ap; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1064 struct aim_userinfo_s *info; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1065 char *msg; |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
1066 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1067 |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
1068 GSList *bcs = gc->buddy_chats; |
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
466
diff
changeset
|
1069 struct conversation *b = NULL; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1070 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1071 va_start(ap, command); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1072 info = va_arg(ap, struct aim_userinfo_s *); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1073 msg = va_arg(ap, char *); |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1074 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1075 while(bcs) { |
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
466
diff
changeset
|
1076 b = (struct conversation *)bcs->data; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1077 if (!strcasecmp(b->name, (char *)command->conn->priv)) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1078 break; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1079 bcs = bcs->next; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1080 b = NULL; |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1081 } |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1082 if (!b) |
270
cfa39d39dec6
[gaim-migrate @ 280]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
267
diff
changeset
|
1083 return 0; |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1084 |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
1085 serv_got_chat_in(gc, b->id, info->sn, 0, msg); |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
1086 |
243
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1087 return 1; |
3414ff74cb0f
[gaim-migrate @ 253]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
242
diff
changeset
|
1088 } |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1089 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1090 /* |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1091 * Recieved in response to an IM sent with the AIM_IMFLAGS_ACK option. |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1092 */ |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1093 int gaim_parse_msgack(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1094 va_list ap; |
505
3bd51b3f07c3
[gaim-migrate @ 515]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
503
diff
changeset
|
1095 u_short type; |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1096 char *sn = NULL; |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1097 |
505
3bd51b3f07c3
[gaim-migrate @ 515]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
503
diff
changeset
|
1098 va_start(ap, command); |
3bd51b3f07c3
[gaim-migrate @ 515]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
503
diff
changeset
|
1099 type = (u_short)va_arg(ap, u_int); |
503
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1100 sn = va_arg(ap, char *); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1101 va_end(ap); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1102 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1103 sprintf(debug_buff, "Sent message to %s.\n", sn); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1104 debug_print(debug_buff); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1105 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1106 return 1; |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1107 } |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1108 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1109 int gaim_parse_ratechange(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1110 va_list ap; |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1111 unsigned long newrate; |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1112 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1113 va_start(ap, command); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1114 newrate = va_arg(ap, unsigned long); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1115 va_end(ap); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1116 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1117 sprintf(debug_buff, "ratechange: %lu\n", newrate); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1118 debug_print(debug_buff); |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1119 |
6e318907bcce
[gaim-migrate @ 513]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
481
diff
changeset
|
1120 return 1; |
840
595ac7759563
[gaim-migrate @ 850]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
838
diff
changeset
|
1121 } |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1122 |
771
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1123 int gaim_parse_evilnotify(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1124 va_list ap; |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1125 char *sn; |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1126 |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1127 va_start(ap, command); |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1128 sn = va_arg(ap, char *); |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1129 va_end(ap); |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1130 |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1131 serv_got_eviled(sn, 0); |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1132 |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1133 return 1; |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1134 } |
72e556f6b99d
[gaim-migrate @ 781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
1135 |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1136 int gaim_rateresp(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1137 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1138 switch (command->conn->type) { |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1139 case AIM_CONN_TYPE_BOS: |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1140 aim_bos_ackrateresp(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1141 aim_bos_reqpersonalinfo(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1142 aim_bos_reqlocaterights(sess, command->conn); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1143 aim_bos_setprofile(sess, command->conn, gc->user_info, NULL, gaim_caps); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1144 aim_bos_reqbuddyrights(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1145 |
966
f7886476f9d9
[gaim-migrate @ 976]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
965
diff
changeset
|
1146 if (mainwindow) |
f7886476f9d9
[gaim-migrate @ 976]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
965
diff
changeset
|
1147 gtk_widget_hide(mainwindow); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1148 show_buddy_list(); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1149 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1150 #ifdef USE_APPLET |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1151 if (general_options & OPT_GEN_APP_BUDDY_SHOW) { |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1152 refresh_buddy_window(); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1153 createOnlinePopup(); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1154 applet_buddy_show = TRUE; |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1155 } else { |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1156 gtk_widget_hide(blist); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1157 applet_buddy_show = FALSE; |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1158 } |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1159 set_user_state(online); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1160 #else |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1161 refresh_buddy_window(); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1162 #endif |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1163 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1164 serv_finish_login(gc); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1165 gaim_setup(gc); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1166 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1167 if (bud_list_cache_exists(gc)) |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1168 do_import(NULL, gc); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1169 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1170 debug_print("buddy list loaded\n"); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1171 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1172 setup_buddy_chats(); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1173 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1174 aim_addicbmparam(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1175 aim_bos_reqicbmparaminfo(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1176 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1177 aim_bos_reqrights(sess, command->conn); |
900
e18815f5a4e9
[gaim-migrate @ 910]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
891
diff
changeset
|
1178 aim_bos_setgroupperm(sess, command->conn, AIM_FLAG_ALLUSERS); |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1179 aim_bos_setprivacyflags(sess, command->conn, AIM_PRIVFLAGS_ALLOWIDLE | |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1180 AIM_PRIVFLAGS_ALLOWMEMBERSINCE); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1181 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1182 break; |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1183 default: |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1184 sprintf(debug_buff, "got rate response for unhandled connection type %04x\n", |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1185 command->conn->type); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1186 debug_print(debug_buff); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1187 break; |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1188 } |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1189 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1190 return 1; |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1191 } |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1192 |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1193 int gaim_reportinterval(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1194 if (command->data) { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1195 sprintf(debug_buff, "minimum report interval: %d (seconds?)\n", aimutil_get16(command->data+10)); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1196 debug_print(debug_buff); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1197 } else |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1198 debug_print("NULL minimum report interval!\n"); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1199 return 1; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1200 } |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1201 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1202 int gaim_parse_buddyrights(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1203 va_list ap; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1204 u_short maxbuddies, maxwatchers; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1205 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1206 va_start(ap, command); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1207 maxbuddies = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1208 maxwatchers = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1209 va_end(ap); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1210 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1211 sprintf(debug_buff, "buddy list rights: Max buddies = %d / Max watchers = %d\n", maxbuddies, maxwatchers); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1212 debug_print(debug_buff); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1213 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1214 return 1; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1215 } |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1216 |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1217 int gaim_bosrights(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
836
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1218 u_short maxpermits, maxdenies; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1219 va_list ap; |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1220 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1221 va_start(ap, command); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1222 maxpermits = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1223 maxdenies = (u_short)va_arg(ap, u_int); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1224 va_end(ap); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1225 |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1226 sprintf(debug_buff, "BOS rights: Max permit = %d / Max deny = %d\n", maxpermits, maxdenies); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1227 debug_print(debug_buff); |
15d005f8baaf
[gaim-migrate @ 846]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
834
diff
changeset
|
1228 |
829
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1229 aim_bos_clientready(sess, command->conn); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1230 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1231 aim_bos_reqservice(sess, command->conn, AIM_CONN_TYPE_CHATNAV); |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1232 |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1233 return 1; |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1234 } |
9a123b171f46
[gaim-migrate @ 839]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
828
diff
changeset
|
1235 |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1236 int gaim_directim_incoming(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1237 va_list ap; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1238 char *sn = NULL, *msg = NULL; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1239 struct aim_conn_t *conn; |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1240 struct gaim_connection *gc = find_gaim_conn_by_aim_sess(sess); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1241 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1242 va_start(ap, command); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1243 conn = va_arg(ap, struct aim_conn_t *); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1244 sn = va_arg(ap, char *); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1245 msg = va_arg(ap, char *); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1246 va_end(ap); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1247 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1248 sprintf(debug_buff, "Got DirectIM message from %s\n", sn); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1249 debug_print(debug_buff); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1250 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1251 serv_got_im(gc, sn, msg, 0); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1252 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1253 return 1; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1254 } |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1255 |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1256 /* this is such a f*cked up function */ |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1257 int gaim_directim_initiate(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1258 va_list ap; |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1259 struct aim_directim_priv *priv; |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1260 struct aim_conn_t *newconn; |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1261 struct conversation *cnv; |
517
dd4d415dbe52
[gaim-migrate @ 527]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
516
diff
changeset
|
1262 int watcher; |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1263 |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1264 va_start(ap, command); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1265 newconn = va_arg(ap, struct aim_conn_t *); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1266 va_end(ap); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1267 |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1268 priv = (struct aim_directim_priv *)newconn->priv; |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1269 |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1270 sprintf(debug_buff, "DirectIM: initiate success to %s\n", priv->sn); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1271 debug_print(debug_buff); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1272 |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1273 cnv = find_conversation(priv->sn); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1274 gdk_input_remove(cnv->watcher); |
517
dd4d415dbe52
[gaim-migrate @ 527]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
516
diff
changeset
|
1275 watcher = gdk_input_add(newconn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1276 oscar_callback, newconn); |
517
dd4d415dbe52
[gaim-migrate @ 527]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
516
diff
changeset
|
1277 make_direct(cnv, TRUE, newconn, watcher); |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1278 |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1279 aim_conn_addhandler(sess, newconn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMINCOMING, gaim_directim_incoming, 0); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1280 aim_conn_addhandler(sess, newconn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMTYPING, gaim_directim_typing, 0); |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1281 |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1282 return 1; |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1283 } |
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1284 |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1285 int gaim_directim_typing(struct aim_session_t *sess, struct command_rx_struct *command, ...) { |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1286 va_list ap; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1287 char *sn; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1288 |
512
7922abb3262d
[gaim-migrate @ 522]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
511
diff
changeset
|
1289 va_start(ap, command); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1290 sn = va_arg(ap, char *); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1291 va_end(ap); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1292 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1293 /* I had to leave this. It's just too funny. It reminds me of my sister. */ |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1294 sprintf(debug_buff, "ohmigod! %s has started typing (DirectIM). He's going to send you a message! *squeal*\n", sn); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1295 debug_print(debug_buff); |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1296 |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1297 return 1; |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1298 } |
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1299 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1300 void oscar_do_directim(struct gaim_connection *gc, char *name) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1301 struct aim_conn_t *newconn = aim_directim_initiate(gc->oscar_sess, gc->oscar_conn, NULL, name); |
515
b33ed0a7f49b
[gaim-migrate @ 525]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
513
diff
changeset
|
1302 struct conversation *cnv = find_conversation(name); /* this will never be null because it just got set up */ |
517
dd4d415dbe52
[gaim-migrate @ 527]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
516
diff
changeset
|
1303 cnv->conn = newconn; |
dd4d415dbe52
[gaim-migrate @ 527]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
516
diff
changeset
|
1304 cnv->watcher = gdk_input_add(newconn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, oscar_callback, newconn); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1305 aim_conn_addhandler(gc->oscar_sess, newconn, AIM_CB_FAM_OFT, AIM_CB_OFT_DIRECTIMINITIATE, gaim_directim_initiate, 0); |
511
3133ab511d92
[gaim-migrate @ 521]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
505
diff
changeset
|
1306 } |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1307 |
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1308 void send_keepalive(gpointer d) { |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1309 struct gaim_connection *gc = (struct gaim_connection *)d; |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1310 debug_print("sending oscar NOP\n"); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1311 if (gc->protocol == PROTO_OSCAR) { /* keeping it open for TOC */ |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1312 aim_flap_nop(gc->oscar_sess, gc->oscar_conn); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1313 } else if (gc->protocol == PROTO_TOC) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1314 sflap_send(gc, "", 0, TYPE_KEEPALIVE); |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1315 } |
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1316 } |
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1317 |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1318 void update_keepalive(struct gaim_connection *gc, gboolean on) { |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1319 if (on && gc->keepalive < 0 && blist) { |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1320 debug_print("allowing NOP\n"); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1321 gc->keepalive = gtk_timeout_add(60000, (GtkFunction)send_keepalive, gc); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1322 } else if (!on && gc->keepalive > -1) { |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1323 debug_print("removing NOP\n"); |
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1324 gtk_timeout_remove(gc->keepalive); |
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
946
diff
changeset
|
1325 gc->keepalive = -1; |
891
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1326 } |
fa2feef25e1e
[gaim-migrate @ 901]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
857
diff
changeset
|
1327 } |