src/server.c

Mon, 30 Apr 2001 01:25:30 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Mon, 30 Apr 2001 01:25:30 +0000
changeset 1771
a1214bda72f2
parent 1769
be8325abcb2a
child 1772
c759c01bd66f
permissions
-rw-r--r--

[gaim-migrate @ 1781]
plug mem leak. don't show evil level if it decreased. mid's utf8 patch for jabber. my girlfriend got an accounting calculator today, you know, with the paper and the printing and things. it's kinda loud. she's really happy about having it. she had bought a different one yesterday but it didn't work so we returned it today. we also went to Albertson's and bought groceries. we bought 72 cans of soda for $15. That's 20 cents per soda. Not bad. we also bought a cow; i'm going to cook it tonight. ben&jerry's ice cream is good.

1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /*
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 * gaim
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 * (at your option) any later version.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 * GNU General Public License for more details.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21
349
6f7d28b0f98d [gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
22 #ifdef HAVE_CONFIG_H
6f7d28b0f98d [gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
23 #include "../config.h"
6f7d28b0f98d [gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 338
diff changeset
24 #endif
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
25 #include <time.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
26 #include <stdio.h>
1057
0161606a8549 [gaim-migrate @ 1067]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1056
diff changeset
27 #include <stdlib.h>
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
28 #include <string.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
29 #include <sys/types.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
30 #include <sys/stat.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
31 #include <sys/time.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
32 #include <unistd.h>
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
33 #include <gtk/gtk.h>
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1015
diff changeset
34 #ifdef USE_SCREENSAVER
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1015
diff changeset
35 #include <X11/Xlib.h>
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1015
diff changeset
36 #include <X11/Xutil.h>
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1015
diff changeset
37 #include <X11/extensions/scrnsaver.h>
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1015
diff changeset
38 #endif /* USE_SCREENSAVER */
276
60d81c158356 [gaim-migrate @ 286]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 273
diff changeset
39 extern int gaim_caps;
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
40 #include "prpl.h"
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
41 #include "multi.h"
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
42 #include "gaim.h"
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
43
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
44 #include "pixmaps/ok.xpm"
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
45 #include "pixmaps/cancel.xpm"
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
46
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 978
diff changeset
47 void serv_login(struct aim_user *user)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
48 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
49 struct prpl *p = find_prpl(user->protocol);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
50 if (user->gc != NULL)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
51 return;
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
52 if (p && p->login) {
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
53 debug_printf("Logging in using %s\n", (*p->name)());
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
54 (*p->login)(user);
1734
8aafd99f5b62 [gaim-migrate @ 1744]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1723
diff changeset
55 } else {
8aafd99f5b62 [gaim-migrate @ 1744]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1723
diff changeset
56 do_error_dialog(_("You cannot log this account in; you do not have "
8aafd99f5b62 [gaim-migrate @ 1744]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1723
diff changeset
57 "the protocol it uses loaded, or the protocol does "
8aafd99f5b62 [gaim-migrate @ 1744]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1723
diff changeset
58 "not have a login function."), _("Login Error"));
423
3b1668d30afc [gaim-migrate @ 433]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 414
diff changeset
59 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
60 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
61
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
62 void serv_close(struct gaim_connection *gc)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
63 {
1063
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
64 GSList *bcs = gc->buddy_chats;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
65 struct conversation *b;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
66 while (bcs) {
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
67 b = (struct conversation *)bcs->data;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
68 gc->buddy_chats = g_slist_remove(gc->buddy_chats, b);
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
69 b->gc = NULL;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
70 bcs = gc->buddy_chats;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
71 }
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1057
diff changeset
72
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
73 if (gc->idle_timer > 0)
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
74 gtk_timeout_remove(gc->idle_timer);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
75 gc->idle_timer = 0;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
76
1050
3e0405bc3cf4 [gaim-migrate @ 1060]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
77 if (gc->keepalive > 0)
3e0405bc3cf4 [gaim-migrate @ 1060]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
78 gtk_timeout_remove(gc->keepalive);
1153
1a4d7785bf8f [gaim-migrate @ 1163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1145
diff changeset
79 gc->keepalive = 0;
1050
3e0405bc3cf4 [gaim-migrate @ 1060]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1038
diff changeset
80
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
81 if (gc->prpl && gc->prpl->close)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
82 (*gc->prpl->close)(gc);
423
3b1668d30afc [gaim-migrate @ 433]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 414
diff changeset
83
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
84 account_offline(gc);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
85 destroy_gaim_conn(gc);
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
86 build_edit_tree();
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
87 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
88
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
89 void serv_touch_idle(struct gaim_connection *gc)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
90 {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
91 /* Are we idle? If so, not anymore */
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
92 if (gc->is_idle > 0) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
93 gc->is_idle = 0;
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
94 serv_set_idle(gc, 0);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
95 }
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
96 time(&gc->lastsent);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
97 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
98
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
99 void serv_finish_login(struct gaim_connection *gc)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
100 {
1051
d65ac9e2224f [gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1050
diff changeset
101 if (strlen(gc->user->user_info)) {
1292
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1263
diff changeset
102 //g_malloc(strlen(gc->user->user_info) * 4);
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1263
diff changeset
103 //strncpy_withhtml(buf, gc->user->user_info, strlen(gc->user->user_info) * 4);
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1263
diff changeset
104 serv_set_info(gc, gc->user->user_info);
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1263
diff changeset
105 //g_free(buf);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
106 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
107
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
108 if (gc->idle_timer > 0)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
109 gtk_timeout_remove(gc->idle_timer);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
110
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
111 gc->idle_timer = gtk_timeout_add(20000, (GtkFunction)check_idle, gc);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
112 serv_touch_idle(gc);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
113
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
114 time(&gc->login_time);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
115
1153
1a4d7785bf8f [gaim-migrate @ 1163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1145
diff changeset
116 update_keepalive(gc, gc->options & OPT_USR_KEEPALV);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
117 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
118
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
119
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
120
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 978
diff changeset
121 void serv_send_im(struct gaim_connection *gc, char *name, char *message, int away)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
122 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
123 if (gc->prpl && gc->prpl->send_im)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
124 (*gc->prpl->send_im)(gc, name, message, away);
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
125
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
126 if (!away)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
127 serv_touch_idle(gc);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
128 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
129
1032
c16107c10195 [gaim-migrate @ 1042]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
130 void serv_get_info(struct gaim_connection *g, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
131 {
1006
fb2f2a403962 [gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1002
diff changeset
132 if (g && g->prpl && g->prpl->get_info)
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
133 (*g->prpl->get_info)(g, name);
249
14b7e4f943ff [gaim-migrate @ 259]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 248
diff changeset
134 }
14b7e4f943ff [gaim-migrate @ 259]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 248
diff changeset
135
1032
c16107c10195 [gaim-migrate @ 1042]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
136 void serv_get_away_msg(struct gaim_connection *g, char *name)
249
14b7e4f943ff [gaim-migrate @ 259]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 248
diff changeset
137 {
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
138 if (g && g->prpl && g->prpl->get_away_msg)
990
a1af2986b004 [gaim-migrate @ 1000]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 986
diff changeset
139 (*g->prpl->get_away_msg)(g, name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
140 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
141
1032
c16107c10195 [gaim-migrate @ 1042]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
142 void serv_get_dir(struct gaim_connection *g, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
143 {
1006
fb2f2a403962 [gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1002
diff changeset
144 if (g && g->prpl && g->prpl->get_dir)
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
145 (*g->prpl->get_dir)(g, name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
146 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
147
1102
15192fa59715 [gaim-migrate @ 1112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1100
diff changeset
148 void serv_set_dir(struct gaim_connection *g, char *first, char *middle, char *last, char *maiden,
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
149 char *city, char *state, char *country, int web)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
150 {
1006
fb2f2a403962 [gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1002
diff changeset
151 if (g && g->prpl && g->prpl->set_dir)
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
152 (*g->prpl->set_dir)(g, first, middle, last, maiden, city, state, country, web);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
153 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
154
1102
15192fa59715 [gaim-migrate @ 1112]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1100
diff changeset
155 void serv_dir_search(struct gaim_connection *g, char *first, char *middle, char *last, char *maiden,
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
156 char *city, char *state, char *country, char *email)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
157 {
1006
fb2f2a403962 [gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1002
diff changeset
158 if (g && g->prpl && g->prpl->dir_search)
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
159 (*g->prpl->dir_search)(g, first, middle, last, maiden, city, state, country, email);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
160 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
161
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
162
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1376
diff changeset
163 void serv_set_away(struct gaim_connection *gc, char *state, char *message)
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1376
diff changeset
164 {
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1401
diff changeset
165 if (gc && gc->prpl && gc->prpl->set_away) {
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1376
diff changeset
166 (*gc->prpl->set_away)(gc, state, message);
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1401
diff changeset
167 plugin_event(event_away, gc, state, message, 0);
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1401
diff changeset
168 }
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
169 system_log(log_away, gc, NULL, OPT_LOG_BUDDY_AWAY | OPT_LOG_MY_SIGNON);
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1376
diff changeset
170 }
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1376
diff changeset
171
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1376
diff changeset
172 void serv_set_away_all(char *message)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
173 {
976
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
174 GSList *c = connections;
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
175 struct gaim_connection *g;
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
176
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
177 while (c) {
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
178 g = (struct gaim_connection *)c->data;
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
179 serv_set_away(g, GAIM_AWAY_CUSTOM, message);
976
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
180 c = c->next;
423
3b1668d30afc [gaim-migrate @ 433]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 414
diff changeset
181 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
182 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
183
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
184 void serv_set_info(struct gaim_connection *g, char *info)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
185 {
1749
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1734
diff changeset
186 if (g->prpl && g->prpl->set_info) {
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1734
diff changeset
187 plugin_event(event_set_info, g, info, 0, 0);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
188 (*g->prpl->set_info)(g, info);
1749
d2d9df57c63e [gaim-migrate @ 1759]
Sean Egan <seanegan@pidgin.im>
parents: 1734
diff changeset
189 }
237
83ff5f92ee7e [gaim-migrate @ 247]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 200
diff changeset
190 }
83ff5f92ee7e [gaim-migrate @ 247]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 200
diff changeset
191
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
192 void serv_change_passwd(struct gaim_connection *g, char *orig, char *new)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
193 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
194 if (g->prpl && g->prpl->change_passwd)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
195 (*g->prpl->change_passwd)(g, orig, new);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
196 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
197
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
198 void serv_add_buddy(struct gaim_connection *g, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
199 {
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
200 if (g->prpl && g->prpl->add_buddy)
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
201 (*g->prpl->add_buddy)(g, name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
202 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
203
1336
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
204 void serv_add_buddies(struct gaim_connection *g, GList *buddies)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
205 {
1336
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
206 if (g->prpl) {
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
207 if (g->prpl->add_buddies)
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
208 (*g->prpl->add_buddies)(g, buddies);
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
209 else if (g->prpl->add_buddy)
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
210 while (buddies) {
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
211 (*g->prpl->add_buddy)(g, buddies->data);
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
212 buddies = buddies->next;
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
213 }
fcec03d17b63 [gaim-migrate @ 1346]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1303
diff changeset
214 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
215 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
216
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
217
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
218 void serv_remove_buddy(struct gaim_connection *g, char *name)
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
219 {
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
220 if (g->prpl && g->prpl->remove_buddy)
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
221 (*g->prpl->remove_buddy)(g, name);
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
222 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
223
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
224 void serv_add_permit(struct gaim_connection *g, char *name)
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
225 {
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
226 if (g->prpl && g->prpl->add_permit)
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
227 (*g->prpl->add_permit)(g, name);
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
228 }
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
229
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
230 void serv_add_deny(struct gaim_connection *g, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
231 {
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
232 if (g->prpl && g->prpl->add_deny)
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
233 (*g->prpl->add_deny)(g, name);
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
234 }
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
235
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
236 void serv_rem_permit(struct gaim_connection *g, char *name)
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
237 {
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
238 if (g->prpl && g->prpl->rem_permit)
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
239 (*g->prpl->rem_permit)(g, name);
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
240 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
241
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
242 void serv_rem_deny(struct gaim_connection *g, char *name)
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
243 {
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
244 if (g->prpl && g->prpl->rem_deny)
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
245 (*g->prpl->rem_deny)(g, name);
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
246 }
678
6e2cb341573a [gaim-migrate @ 688]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 660
diff changeset
247
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
248 void serv_set_permit_deny(struct gaim_connection *g)
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
249 {
1145
cf936dc497bf [gaim-migrate @ 1155]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1140
diff changeset
250 /* this is called when either you import a buddy list, and make lots of changes that way,
cf936dc497bf [gaim-migrate @ 1155]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1140
diff changeset
251 * or when the user toggles the permit/deny mode in the prefs. In either case you should
cf936dc497bf [gaim-migrate @ 1155]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1140
diff changeset
252 * probably be resetting and resending the permit/deny info when you get this. */
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
253 if (g->prpl && g->prpl->set_permit_deny)
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
254 (*g->prpl->set_permit_deny)(g);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
255 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
256
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1015
diff changeset
257
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
258 void serv_set_idle(struct gaim_connection *g, int time)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
259 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
260 if (g->prpl && g->prpl->set_idle)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
261 (*g->prpl->set_idle)(g, time);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
262 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
263
976
553a33f54fe2 [gaim-migrate @ 986]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 973
diff changeset
264 void serv_warn(struct gaim_connection *g, char *name, int anon)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
265 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
266 if (g->prpl && g->prpl->warn)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
267 (*g->prpl->warn)(g, name, anon);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
268 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
269
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
270 void serv_accept_chat(struct gaim_connection *g, int i)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
271 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
272 if (g->prpl && g->prpl->accept_chat)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
273 (*g->prpl->accept_chat)(g, i);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
274 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
275
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
276 void serv_join_chat(struct gaim_connection *g, int exchange, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
277 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
278 if (g->prpl && g->prpl->join_chat)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
279 (*g->prpl->join_chat)(g, exchange, name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
280 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
281
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
282 void serv_chat_invite(struct gaim_connection *g, int id, char *message, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
283 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
284 if (g->prpl && g->prpl->chat_invite)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
285 (*g->prpl->chat_invite)(g, id, message, name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
286 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
287
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
288 void serv_chat_leave(struct gaim_connection *g, int id)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
289 {
1015
954a02d6c5e5 [gaim-migrate @ 1025]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1013
diff changeset
290 /* i think this is the only one this should be necessary for since this is the
954a02d6c5e5 [gaim-migrate @ 1025]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1013
diff changeset
291 * only thing that could possibly get called after the connection is closed */
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
292 if (!g_slist_find(connections, g))
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
293 return;
1015
954a02d6c5e5 [gaim-migrate @ 1025]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1013
diff changeset
294
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
295 if (g->prpl && g->prpl->chat_leave)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
296 (*g->prpl->chat_leave)(g, id);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
297 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
298
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
299 void serv_chat_whisper(struct gaim_connection *g, int id, char *who, char *message)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
300 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
301 if (g->prpl && g->prpl->chat_whisper)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
302 (*g->prpl->chat_whisper)(g, id, who, message);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
303 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
304
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
305 void serv_chat_send(struct gaim_connection *g, int id, char *message)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
306 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
307 if (g->prpl && g->prpl->chat_send)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
308 (*g->prpl->chat_send)(g, id, message);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
309 serv_touch_idle(g);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
310 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
311
1764
d8c1affb29fe [gaim-migrate @ 1774]
Rob Flynn <gaim@robflynn.com>
parents: 1749
diff changeset
312 void serv_got_im(struct gaim_connection *gc, char *name, char *message, int away, time_t mtime)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
313 {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
314 struct conversation *cnv;
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
315 int new_conv = 0;
1768
2a69692c4432 [gaim-migrate @ 1778]
Rob Flynn <gaim@robflynn.com>
parents: 1764
diff changeset
316 int hehe = away;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
317
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
318 char *buffy = g_strdup(message);
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
319 char *angel = g_strdup(name);
1100
efc7d10c7826 [gaim-migrate @ 1110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
320 int plugin_return = plugin_event(event_im_recv, gc, &angel, &buffy, 0);
1339
7154ff47dc2b [gaim-migrate @ 1349]
Rob Flynn <gaim@robflynn.com>
parents: 1336
diff changeset
321
1100
efc7d10c7826 [gaim-migrate @ 1110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
322 if (!buffy || !angel || plugin_return) {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
323 if (buffy)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
324 g_free(buffy);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
325 if (angel)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
326 g_free(angel);
94
0c6ba3d3fa90 [gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
327 return;
1100
efc7d10c7826 [gaim-migrate @ 1110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
328 }
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
329 g_snprintf(message, strlen(message) + 1, "%s", buffy);
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
330 g_free(buffy);
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
331 g_snprintf(name, strlen(name) + 1, "%s", angel);
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
332 g_free(angel);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
333
736
0e380859da63 [gaim-migrate @ 746]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 710
diff changeset
334 if ((general_options & OPT_GEN_TIK_HACK) && awaymessage &&
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
335 !strcmp(message, ">>>Automated Message: Getting Away Message<<<")) {
831
b1d5ab85f4e7 [gaim-migrate @ 841]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 809
diff changeset
336 char *tmpmsg = stylize(awaymessage->message, MSG_LEN);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
337 serv_send_im(gc, name, tmpmsg, 1);
831
b1d5ab85f4e7 [gaim-migrate @ 841]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 809
diff changeset
338 g_free(tmpmsg);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
339 return;
736
0e380859da63 [gaim-migrate @ 746]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 710
diff changeset
340 }
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
341
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
342 cnv = find_conversation(name);
1371
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
343 if (cnv) {
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
344 cnv->gc = gc;
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
345 gtk_option_menu_set_history(GTK_OPTION_MENU(cnv->menu), g_slist_index(connections, gc));
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
346 update_buttons_by_protocol(cnv);
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
347 }
616
890a01886698 [gaim-migrate @ 626]
Rob Flynn <gaim@robflynn.com>
parents: 592
diff changeset
348
890a01886698 [gaim-migrate @ 626]
Rob Flynn <gaim@robflynn.com>
parents: 592
diff changeset
349 if (general_options & OPT_GEN_SEND_LINKS) {
890a01886698 [gaim-migrate @ 626]
Rob Flynn <gaim@robflynn.com>
parents: 592
diff changeset
350 linkify_text(message);
890a01886698 [gaim-migrate @ 626]
Rob Flynn <gaim@robflynn.com>
parents: 592
diff changeset
351 }
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
352
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
353 if (away)
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
354 away = WFLAG_AUTO;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
355
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1401
diff changeset
356 if (gc->away) {
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
357 if (!(general_options & OPT_GEN_DISCARD_WHEN_AWAY)) {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
358 if (cnv == NULL) {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
359 new_conv = 1;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
360 cnv = new_conversation(name);
1371
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
361 cnv->gc = gc;
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
362 gtk_option_menu_set_history(GTK_OPTION_MENU(cnv->menu),
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
363 g_slist_index(connections, gc));
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
364 update_buttons_by_protocol(cnv);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
365 }
1371
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
366 } else {
1339
7154ff47dc2b [gaim-migrate @ 1349]
Rob Flynn <gaim@robflynn.com>
parents: 1336
diff changeset
367 return;
7154ff47dc2b [gaim-migrate @ 1349]
Rob Flynn <gaim@robflynn.com>
parents: 1336
diff changeset
368 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
369 if (cnv != NULL) {
1769
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
370 struct queued_message *qm;
1721
3e76c6ee3e06 [gaim-migrate @ 1731]
Rob Flynn <gaim@robflynn.com>
parents: 1692
diff changeset
371 if (cnv->makesound && (sound_options & OPT_SOUND_RECV))
3e76c6ee3e06 [gaim-migrate @ 1731]
Rob Flynn <gaim@robflynn.com>
parents: 1692
diff changeset
372 play_sound(RECEIVE);
1769
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
373 /*
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
374 qm = (struct queued_message *)g_new0(struct queued_message, 1);
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
375 snprintf(qm->name, sizeof(qm->name), "%s", name);
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
376 qm->message = strdup(message);
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
377 qm->gc = gc;
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
378 qm->tm = mtime;
1768
2a69692c4432 [gaim-migrate @ 1778]
Rob Flynn <gaim@robflynn.com>
parents: 1764
diff changeset
379
1769
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
380 message_queue = g_slist_append(message_queue, qm);
be8325abcb2a [gaim-migrate @ 1779]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1768
diff changeset
381 */
1764
d8c1affb29fe [gaim-migrate @ 1774]
Rob Flynn <gaim@robflynn.com>
parents: 1749
diff changeset
382 write_to_conv(cnv, message, away | WFLAG_RECV, NULL, mtime);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
383 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
384
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
385 } else {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
386 if (cnv == NULL) {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
387 new_conv = 1;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
388 cnv = new_conversation(name);
1371
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
389 cnv->gc = gc;
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
390 gtk_option_menu_set_history(GTK_OPTION_MENU(cnv->menu),
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
391 g_slist_index(connections, gc));
c197c034efc3 [gaim-migrate @ 1381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1340
diff changeset
392 update_buttons_by_protocol(cnv);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
393 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
394 if (new_conv && (sound_options & OPT_SOUND_FIRST_RCV)) {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
395 play_sound(FIRST_RECEIVE);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
396 } else {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
397 if (cnv->makesound && (sound_options & OPT_SOUND_RECV))
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
398 play_sound(RECEIVE);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
399 }
1764
d8c1affb29fe [gaim-migrate @ 1774]
Rob Flynn <gaim@robflynn.com>
parents: 1749
diff changeset
400 write_to_conv(cnv, message, away | WFLAG_RECV, NULL, mtime);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
401 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
402
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
403
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
404
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
405
1659
4233265463c7 [gaim-migrate @ 1669]
phzzzt
parents: 1643
diff changeset
406 if (!(general_options & OPT_GEN_NO_AUTO_RESP) && gc->away && strlen(gc->away)) {
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
407 time_t t;
765
048901ebbb85 [gaim-migrate @ 775]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 764
diff changeset
408 char *tmpmsg;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
409 struct buddy *b = find_buddy(gc, name);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 931
diff changeset
410 char *alias = b ? b->show : name;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
411
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
412 time(&t);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
413
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
414
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
415 if ((cnv == NULL) || (t - cnv->sent_away) < 120)
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
416 return;
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
417
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
418 cnv->sent_away = t;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
419
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
420 /* apply default fonts and colors */
1404
e915b372f70a [gaim-migrate @ 1414]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1401
diff changeset
421 tmpmsg = stylize(gc->away, MSG_LEN);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
422
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 978
diff changeset
423 serv_send_im(gc, name, away_subs(tmpmsg, alias), 1);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
424
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
425 if (cnv != NULL)
1764
d8c1affb29fe [gaim-migrate @ 1774]
Rob Flynn <gaim@robflynn.com>
parents: 1749
diff changeset
426 write_to_conv(cnv, away_subs(tmpmsg, alias), WFLAG_SEND | WFLAG_AUTO, NULL, mtime);
765
048901ebbb85 [gaim-migrate @ 775]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 764
diff changeset
427 g_free(tmpmsg);
764
92f08820867b [gaim-migrate @ 774]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 752
diff changeset
428 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
429 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
430
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
431
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
432
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
433 void serv_got_update(struct gaim_connection *gc, char *name, int loggedin, int evil, time_t signon,
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
434 time_t idle, int type, gushort caps)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
435 {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
436 struct buddy *b = find_buddy(gc, name);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
437
1435
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
438 if (gc->prpl->options & OPT_PROTO_CORRECT_TIME) {
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
439 char *tmp = g_strdup(normalize(name));
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
440 if (!strcasecmp(tmp, normalize(gc->username)))
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
441 gc->correction_time = (int)(signon - gc->login_time);
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
442 g_free(tmp);
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
443 }
82038dac0c36 [gaim-migrate @ 1445]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1434
diff changeset
444
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
445 if (!b) {
1376
06cf71686faf [gaim-migrate @ 1386]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1371
diff changeset
446 debug_printf("Error, no such buddy %s\n", name);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
447 return;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
448 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
449
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
450 /* This code will 'align' the name from the TOC */
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
451 /* server with what's in our record. We want to */
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
452 /* store things how THEY want it... */
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
453 if (strcmp(name, b->name)) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
454 GList *cnv = conversations;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
455 struct conversation *cv;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
456
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
457 char *who = g_malloc(80);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
458
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
459 strcpy(who, normalize(name));
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
460
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
461 while (cnv) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
462 cv = (struct conversation *)cnv->data;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
463 if (!strcasecmp(who, normalize(cv->name))) {
1587
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
464 if (display_options & OPT_DISP_ONE_WINDOW) {
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
465 set_convo_tab_label(cv, b->name);
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
466 } else {
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
467 g_snprintf(cv->name, sizeof(cv->name), "%s", name);
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
468 if (find_log_info(name) || (logging_options & OPT_LOG_ALL))
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
469 g_snprintf(who, 63, LOG_CONVERSATION_TITLE, name);
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
470 else
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
471 g_snprintf(who, 63, CONVERSATION_TITLE, name);
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
472 gtk_window_set_title(GTK_WINDOW(cv->window), who);
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
473 /* was g_free(buf), but break gives us that
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
474 * and freeing twice is not good --Sumner */
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
475 break;
5080af654308 [gaim-migrate @ 1597]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
476 }
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
477 }
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
478 cnv = cnv->next;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
479 }
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
480 g_free(who);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
481 g_snprintf(b->name, sizeof(b->name), "%s", name);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
482 /*gtk_label_set_text(GTK_LABEL(b->label), b->name); */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
483
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
484 /* okay lets save the new config... */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
485
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
486 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
487
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
488 if (!b->idle && idle) {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
489 plugin_event(event_buddy_idle, gc, b->name, 0, 0);
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
490 system_log(log_idle, gc, b, OPT_LOG_BUDDY_IDLE);
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
491 }
1140
425e6580ec09 [gaim-migrate @ 1150]
Rob Flynn <gaim@robflynn.com>
parents: 1102
diff changeset
492 if (b->idle && !idle) {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
493 do_pounce(b->name, OPT_POUNCE_UNIDLE);
1140
425e6580ec09 [gaim-migrate @ 1150]
Rob Flynn <gaim@robflynn.com>
parents: 1102
diff changeset
494 plugin_event(event_buddy_unidle, gc, b->name, 0, 0);
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
495 system_log(log_unidle, gc, b, OPT_LOG_BUDDY_IDLE);
1140
425e6580ec09 [gaim-migrate @ 1150]
Rob Flynn <gaim@robflynn.com>
parents: 1102
diff changeset
496 }
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 990
diff changeset
497
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
498 b->idle = idle;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
499 b->evil = evil;
780
0513afaaf062 [gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 771
diff changeset
500
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 115
diff changeset
501 if ((b->uc & UC_UNAVAILABLE) && !(type & UC_UNAVAILABLE)) {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
502 do_pounce(b->name, OPT_POUNCE_UNAWAY);
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
503 plugin_event(event_buddy_back, gc, b->name, 0, 0);
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
504 system_log(log_back, gc, b, OPT_LOG_BUDDY_AWAY);
780
0513afaaf062 [gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 771
diff changeset
505 } else if (!(b->uc & UC_UNAVAILABLE) && (type & UC_UNAVAILABLE)) {
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
506 plugin_event(event_buddy_away, gc, b->name, 0, 0);
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
507 system_log(log_away, gc, b, OPT_LOG_BUDDY_AWAY);
136
d8dee47cbeb7 [gaim-migrate @ 146]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 115
diff changeset
508 }
780
0513afaaf062 [gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 771
diff changeset
509
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
510 b->uc = type;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
511 if (caps)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
512 b->caps = caps;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
513
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
514 b->signon = signon;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
515
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
516 if (loggedin) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
517 if (!b->present) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
518 b->present = 1;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
519 do_pounce(b->name, OPT_POUNCE_SIGNON);
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
520 plugin_event(event_buddy_signon, gc, b->name, 0, 0);
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
521 system_log(log_signon, gc, b, OPT_LOG_BUDDY_SIGNON);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
522 }
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
523 } else {
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
524 if (b->present) {
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
525 plugin_event(event_buddy_signoff, gc, b->name, 0, 0);
1575
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
526 system_log(log_signoff, gc, b, OPT_LOG_BUDDY_SIGNON);
220b4d845309 [gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1555
diff changeset
527 }
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
528 b->present = 0;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1026
diff changeset
529 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
530
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
531 set_buddy(gc, b);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
532 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
533
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
534 static
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
535 void close_warned(GtkWidget *w, GtkWidget *w2)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
536 {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
537 gtk_widget_destroy(w2);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
538 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
539
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
540
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
541
1100
efc7d10c7826 [gaim-migrate @ 1110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
542 void serv_got_eviled(struct gaim_connection *gc, char *name, int lev)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
543 {
1771
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
544 char buf2[1024];
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
545 GtkWidget *d, *label, *close;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
546
1100
efc7d10c7826 [gaim-migrate @ 1110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
547 plugin_event(event_warned, gc, name, (void *)lev, 0);
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
548
1771
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
549 if (gc->evil > lev) {
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
550 gc->evil = lev;
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
551 return;
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
552 }
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
553
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
554 gc->evil = lev;
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
555
a1214bda72f2 [gaim-migrate @ 1781]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
556 g_snprintf(buf2, sizeof(buf2), "%s has just been warned by %s.\nYour new warning level is %d%%",
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
557 gc->username, ((name == NULL)? "an anonymous person" : name), lev);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
558
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
559 d = gtk_dialog_new();
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
560 gtk_widget_realize(d);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
561 aol_icon(d->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
562
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
563 label = gtk_label_new(buf2);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
564 gtk_widget_show(label);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
565 close = gtk_button_new_with_label("Close");
535
468607aeb8b4 [gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 528
diff changeset
566 if (display_options & OPT_DISP_COOL_LOOK)
468607aeb8b4 [gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 528
diff changeset
567 gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
568 gtk_widget_show(close);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
569 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
570 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), close, FALSE, FALSE, 5);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
571
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
572 gtk_window_set_title(GTK_WINDOW(d), "Warned");
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
573 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(close_warned), d);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
574 gtk_widget_show(d);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
575 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
576
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
577
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
578
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
579 static void close_invite(GtkWidget *w, GtkWidget *w2)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
580 {
1723
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
581 char *str = (char *)gtk_object_get_user_data(GTK_OBJECT(w2));
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
582
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
583 if (str)
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
584 g_free(str);
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
585
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
586 gtk_widget_destroy(w2);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
587 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
588
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
589 static void chat_invite_callback(GtkWidget *w, GtkWidget *w2)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
590 {
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
591 struct gaim_connection *g = (struct gaim_connection *)
1723
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
592 gtk_object_get_user_data(GTK_OBJECT(GTK_DIALOG(w2)->vbox));
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
593 int id;
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
594 char *str;
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
595
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
596 id = (int)gtk_object_get_user_data(GTK_OBJECT(w));
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
597 str = (char *)gtk_object_get_user_data(GTK_OBJECT(w2));
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
598
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
599 if (g->prpl && g->prpl->accept_chat)
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
600 serv_accept_chat(g, id);
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
601 else
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
602 serv_join_chat(g, id, str);
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
603
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
604 if (str)
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
605 g_free(str);
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
606
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
607 gtk_widget_destroy(w2);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
608 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
609
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
610
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
611
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
612 void serv_got_chat_invite(struct gaim_connection *g, char *name, int id, char *who, char *message)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
613 {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
614 GtkWidget *d;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
615 GtkWidget *label;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
616 GtkWidget *yesbtn;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
617 GtkWidget *nobtn;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
618
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
619 char buf2[BUF_LONG];
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
620
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
621
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 990
diff changeset
622 plugin_event(event_chat_invited, g, who, name, message);
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
623
414
b2f9d5e4841a [gaim-migrate @ 424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 411
diff changeset
624 if (message)
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
625 g_snprintf(buf2, sizeof(buf2), "User '%s' invites %s to buddy chat room: '%s'\n%s", who,
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
626 g->username, name, message);
414
b2f9d5e4841a [gaim-migrate @ 424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 411
diff changeset
627 else
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
628 g_snprintf(buf2, sizeof(buf2), "User '%s' invites %s to buddy chat room: '%s'\n", who,
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
629 g->username, name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
630
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
631 d = gtk_dialog_new();
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
632 gtk_widget_realize(d);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
633 aol_icon(d->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
634
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
635
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
636 label = gtk_label_new(buf2);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
637 gtk_widget_show(label);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
638 yesbtn = picture_button(d, _("Yes"), ok_xpm);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
639 nobtn = picture_button(d, _("No"), cancel_xpm);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
640 gtk_widget_show(nobtn);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
641 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
642 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), yesbtn, FALSE, FALSE, 5);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
643 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), nobtn, FALSE, FALSE, 5);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
644
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
645 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g);
1723
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
646 if (name)
423
3b1668d30afc [gaim-migrate @ 433]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 414
diff changeset
647 gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name));
1723
c953322c625e [gaim-migrate @ 1733]
Adam Fritzler <mid@auk.cx>
parents: 1722
diff changeset
648 gtk_object_set_user_data(GTK_OBJECT(yesbtn), (void *)id);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
649
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
650
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
651 gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite");
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
652 gtk_signal_connect(GTK_OBJECT(nobtn), "clicked", GTK_SIGNAL_FUNC(close_invite), d);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
653 gtk_signal_connect(GTK_OBJECT(yesbtn), "clicked", GTK_SIGNAL_FUNC(chat_invite_callback), d);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
654
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
655
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
656 gtk_widget_show(d);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
657 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
658
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
659 void serv_got_joined_chat(struct gaim_connection *gc, int id, char *name)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
660 {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
661 struct conversation *b;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
662
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 990
diff changeset
663 plugin_event(event_chat_join, gc, name, 0, 0);
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
664
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
665 b = (struct conversation *)g_new0(struct conversation, 1);
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
666 gc->buddy_chats = g_slist_append(gc->buddy_chats, b);
1692
ff73167542e9 [gaim-migrate @ 1702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1659
diff changeset
667 chats = g_list_append(chats, b);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
668
472
9a5b8da2d760 [gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 447
diff changeset
669 b->is_chat = TRUE;
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
670 b->ignored = NULL;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
671 b->in_room = NULL;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
672 b->id = id;
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
673 b->gc = gc;
1479
e7ec4ce61f5b [gaim-migrate @ 1489]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
674 b->history = g_string_new("");
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
675 g_snprintf(b->name, 80, "%s", name);
888
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
676
1525
b4ece1a718cd [gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1479
diff changeset
677 if ((logging_options & OPT_LOG_ALL) || find_log_info(b->name)) {
888
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
678 FILE *fd;
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
679 char *filename;
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
680
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
681 filename = (char *)malloc(100);
1212
811eb5120b9c [gaim-migrate @ 1222]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1191
diff changeset
682 g_snprintf(filename, 100, "%s.chat", b->name);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
683
888
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
684 fd = open_log_file(filename);
1722
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
685 if (fd) {
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
686 if (!(logging_options & OPT_LOG_STRIP_HTML))
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
687 fprintf(fd,
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
688 "<HR><BR><H3 Align=Center> ---- New Conversation @ %s ----</H3><BR>\n",
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
689 full_date());
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
690 else
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
691 fprintf(fd, "---- New Conversation @ %s ----\n", full_date());
1437
b51cd857866c [gaim-migrate @ 1447]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1435
diff changeset
692
1722
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
693 fclose(fd);
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1721
diff changeset
694 }
888
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
695 free(filename);
291963d9d83f [gaim-migrate @ 898]
Rob Flynn <gaim@robflynn.com>
parents: 834
diff changeset
696 }
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
697
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
698 show_new_buddy_chat(b);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
699 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
700
964
6642a090394e [gaim-migrate @ 974]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 962
diff changeset
701 void serv_got_chat_left(struct gaim_connection *g, int id)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
702 {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
703 GSList *bcs = g->buddy_chats;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
704 struct conversation *b = NULL;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
705
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
706
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
707 while (bcs) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
708 b = (struct conversation *)bcs->data;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
709 if (id == b->id) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
710 break;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
711 }
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
712 b = NULL;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
713 bcs = bcs->next;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
714 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
715
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
716 if (!b)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
717 return;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
718
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 990
diff changeset
719 plugin_event(event_chat_leave, g, b->name, 0, 0);
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
720
1250
46ac03911ab0 [gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents: 1235
diff changeset
721 debug_printf("Leaving room %s.\n", b->name);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
722
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
723 g->buddy_chats = g_slist_remove(g->buddy_chats, b);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
724
1053
e73b159a9047 [gaim-migrate @ 1063]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1051
diff changeset
725 while (b->in_room) {
e73b159a9047 [gaim-migrate @ 1063]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1051
diff changeset
726 char *tmp = b->in_room->data;
e73b159a9047 [gaim-migrate @ 1063]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1051
diff changeset
727 b->in_room = g_list_remove(b->in_room, tmp);
e73b159a9047 [gaim-migrate @ 1063]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1051
diff changeset
728 g_free(tmp);
e73b159a9047 [gaim-migrate @ 1063]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1051
diff changeset
729 }
e73b159a9047 [gaim-migrate @ 1063]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1051
diff changeset
730
1303
04847adbeb72 [gaim-migrate @ 1313]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1292
diff changeset
731 while (b->ignored) {
04847adbeb72 [gaim-migrate @ 1313]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1292
diff changeset
732 g_free(b->ignored->data);
04847adbeb72 [gaim-migrate @ 1313]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1292
diff changeset
733 b->ignored = g_list_remove(b->ignored, b->ignored->data);
04847adbeb72 [gaim-migrate @ 1313]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1292
diff changeset
734 }
04847adbeb72 [gaim-migrate @ 1313]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1292
diff changeset
735
1479
e7ec4ce61f5b [gaim-migrate @ 1489]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
736 g_string_free(b->history, TRUE);
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
737 g_free(b);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
738 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
739
1764
d8c1affb29fe [gaim-migrate @ 1774]
Rob Flynn <gaim@robflynn.com>
parents: 1749
diff changeset
740 void serv_got_chat_in(struct gaim_connection *g, int id, char *who, int whisper, char *message, time_t mtime)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
741 {
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
742 int w;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
743 GSList *bcs = g->buddy_chats;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
744 struct conversation *b = NULL;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
745
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
746 while (bcs) {
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
747 b = (struct conversation *)bcs->data;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
748 if (id == b->id)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
749 break;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
750 bcs = bcs->next;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
751 b = NULL;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
752
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
753 }
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
754 if (!b)
1100
efc7d10c7826 [gaim-migrate @ 1110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
755 return;
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 368
diff changeset
756
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
757 if (plugin_event(event_chat_recv, g, b->name, who, message))
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
758 return;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
759
1643
7a782e156daf [gaim-migrate @ 1653]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1587
diff changeset
760 if (general_options & OPT_GEN_SEND_LINKS) {
7a782e156daf [gaim-migrate @ 1653]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1587
diff changeset
761 linkify_text(message);
7a782e156daf [gaim-migrate @ 1653]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1587
diff changeset
762 }
7a782e156daf [gaim-migrate @ 1653]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1587
diff changeset
763
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
764 if (whisper)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
765 w = WFLAG_WHISPER;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
766 else
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
767 w = 0;
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
768
1764
d8c1affb29fe [gaim-migrate @ 1774]
Rob Flynn <gaim@robflynn.com>
parents: 1749
diff changeset
769 chat_write(b, who, w, message, mtime);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
770 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
771
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
772 void send_keepalive(gpointer d)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
773 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
774 struct gaim_connection *gc = (struct gaim_connection *)d;
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
775 if (gc->prpl && gc->prpl->keepalive)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
776 (*gc->prpl->keepalive)(gc);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
777 }
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
778
1252
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
779 void update_keepalive(struct gaim_connection *gc, gboolean on)
94fbface2d84 [gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1250
diff changeset
780 {
1153
1a4d7785bf8f [gaim-migrate @ 1163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1145
diff changeset
781 if (on && !gc->keepalive && blist) {
1250
46ac03911ab0 [gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents: 1235
diff changeset
782 debug_printf("allowing NOP\n");
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
783 gc->keepalive = gtk_timeout_add(60000, (GtkFunction)send_keepalive, gc);
1153
1a4d7785bf8f [gaim-migrate @ 1163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1145
diff changeset
784 } else if (!on && gc->keepalive > 0) {
1250
46ac03911ab0 [gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents: 1235
diff changeset
785 debug_printf("removing NOP\n");
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
786 gtk_timeout_remove(gc->keepalive);
1153
1a4d7785bf8f [gaim-migrate @ 1163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1145
diff changeset
787 gc->keepalive = 0;
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
788 }
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
789 }

mercurial