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