src/eventloop.c

Fri, 19 Nov 2004 20:18:14 +0000

author
Herman Bloggs <herman@bluedigits.com>
date
Fri, 19 Nov 2004 20:18:14 +0000
changeset 10209
b7eaf84b2f3a
parent 8797
378fe0e6c66d
child 10566
b681d2b3dec5
permissions
-rw-r--r--

[gaim-migrate @ 11331]
gaim_notify_uri now needs trusted parameter to indicate whether
the source of the uri is trusted. This helps us avoid the security risks
involved in blindly executing untrusted local file URIs in windows. This
fixes the MSN open mail bug on windows.

8273
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
1 /**
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
2 * @file eventloop.c Gaim Event Loop API
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
3 * @ingroup core
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
4 *
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
5 * gaim
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
6 *
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
9 * source distribution.
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
10 *
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
14 * (at your option) any later version.
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
15 *
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
19 * GNU General Public License for more details.
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
20 *
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
24 */
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
25 #include "eventloop.h"
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
26
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
27 static GaimEventLoopUiOps *eventloop_ui_ops = NULL;
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
28
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
29 guint
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
30 gaim_timeout_add(guint interval, GSourceFunc function, gpointer data)
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
31 {
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
32 GaimEventLoopUiOps *ops = gaim_eventloop_get_ui_ops();
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
33
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
34 return ops->timeout_add(interval, function, data);
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
35 }
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
36
8387
381fc8b4f8f7 [gaim-migrate @ 9115]
Christian Hammond <chipx86@chipx86.com>
parents: 8287
diff changeset
37 guint
8287
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
38 gaim_timeout_remove(guint tag)
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
39 {
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
40 GaimEventLoopUiOps *ops = gaim_eventloop_get_ui_ops();
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
41
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
42 return ops->timeout_remove(tag);
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
43 }
266eacc707ac [gaim-migrate @ 9011]
Scott Lamb
parents: 8280
diff changeset
44
8280
f448633d3f3a [gaim-migrate @ 9004]
Scott Lamb
parents: 8273
diff changeset
45 guint
8273
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
46 gaim_input_add(int source, GaimInputCondition condition, GaimInputFunction func, gpointer user_data)
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
47 {
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
48 GaimEventLoopUiOps *ops = gaim_eventloop_get_ui_ops();
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
49
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
50 return ops->input_add(source, condition, func, user_data);
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
51 }
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
52
8797
378fe0e6c66d [gaim-migrate @ 9559]
Mark Doliner <markdoliner@pidgin.im>
parents: 8387
diff changeset
53 guint
8280
f448633d3f3a [gaim-migrate @ 9004]
Scott Lamb
parents: 8273
diff changeset
54 gaim_input_remove(guint tag)
8273
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
55 {
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
56 GaimEventLoopUiOps *ops = gaim_eventloop_get_ui_ops();
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
57
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
58 return ops->input_remove(tag);
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
59 }
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
60
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
61 void
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
62 gaim_eventloop_set_ui_ops(GaimEventLoopUiOps *ops)
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
63 {
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
64 eventloop_ui_ops = ops;
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
65 }
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
66
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
67 GaimEventLoopUiOps *
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
68 gaim_eventloop_get_ui_ops(void)
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
69 {
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
70 g_assert(eventloop_ui_ops != NULL);
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
71
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
72 return eventloop_ui_ops;
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
73 }
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
74
7882af5843e9 [gaim-migrate @ 8997]
Scott Lamb
parents:
diff changeset
75

mercurial