src/pounce.h

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 8235
00045afab151
child 10432
da2df724be56
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.

5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
1 /**
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
2 * @file pounce.h Buddy Pounce API
5034
077678f7b048 [gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents: 5032
diff changeset
3 * @ingroup core
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
4 *
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5 * gaim
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6837
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6837
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6837
diff changeset
9 * source distribution.
6837
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
10 *
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 *
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 *
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
25 #ifndef _GAIM_POUNCE_H_
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
26 #define _GAIM_POUNCE_H_
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
28 typedef struct _GaimPounce GaimPounce;
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
29
5866
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
30 #include <glib.h>
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
31 #include "account.h"
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
32
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
33 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
34 * Events that trigger buddy pounces.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
35 */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
36 typedef enum
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
37 {
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
38 GAIM_POUNCE_NONE = 0x00, /**< No events. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
39 GAIM_POUNCE_SIGNON = 0x01, /**< The buddy signed on. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
40 GAIM_POUNCE_SIGNOFF = 0x02, /**< The buddy signed off. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
41 GAIM_POUNCE_AWAY = 0x04, /**< The buddy went away. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
42 GAIM_POUNCE_AWAY_RETURN = 0x08, /**< The buddy returned from away. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
43 GAIM_POUNCE_IDLE = 0x10, /**< The buddy became idle. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
44 GAIM_POUNCE_IDLE_RETURN = 0x20, /**< The buddy is no longer idle. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
45 GAIM_POUNCE_TYPING = 0x40, /**< The buddy started typing. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
46 GAIM_POUNCE_TYPING_STOPPED = 0x80 /**< The buddy stopped typing. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
47
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
48 } GaimPounceEvent;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
49
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
50 /** A pounce callback. */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
51 typedef void (*GaimPounceCb)(GaimPounce *, GaimPounceEvent, void *);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
52
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
53 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
54 * A buddy pounce structure.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
55 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
56 * Buddy pounces are actions triggered by a buddy-related event. For
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
57 * example, a sound can be played or an IM window opened when a buddy
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
58 * signs on or returns from away. Such responses are handled in the
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
59 * UI. The events themselves are done in the core.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
60 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
61 struct _GaimPounce
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
62 {
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
63 char *ui_type; /**< The type of UI. */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
64
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
65 GaimPounceEvent events; /**< The event(s) to pounce on. */
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
66 GaimAccount *pouncer; /**< The user who is pouncing. */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
67
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
68 char *pouncee; /**< The buddy to pounce on. */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
69
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
70 GHashTable *actions; /**< The registered actions. */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
71
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
72 gboolean save; /**< Whether or not the pounce should
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
73 be saved after activation. */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
74 void *data; /**< Pounce-specific data. */
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
75 };
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
77 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
78 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
79 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
80
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
81 /**************************************************************************/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
82 /** @name Buddy Pounce API */
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
83 /**************************************************************************/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
84 /*@{*/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
85
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
86 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
87 * Creates a new buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
88 *
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
89 * @param ui_type The type of UI the pounce is for.
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
90 * @param pouncer The account that will pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
91 * @param pouncee The buddy to pounce on.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
92 * @param event The event(s) to pounce on.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
93 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
94 * @return The new buddy pounce structure.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
95 */
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
96 GaimPounce *gaim_pounce_new(const char *ui_type, GaimAccount *pouncer,
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
97 const char *pouncee, GaimPounceEvent event);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
98
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
99 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
100 * Destroys a buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
101 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
102 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
103 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
104 void gaim_pounce_destroy(GaimPounce *pounce);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
105
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
106 /**
8235
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
107 * Destroys all buddy pounces for the account
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
108 *
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
109 * @param account The account to remove all pounces from.
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
110 */
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
111 void gaim_pounce_destroy_all_by_account(GaimAccount *account);
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
112
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
113 /**
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
114 * Sets the events a pounce should watch for.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
115 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
116 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
117 * @param events The events to watch for.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
118 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
119 void gaim_pounce_set_events(GaimPounce *pounce, GaimPounceEvent events);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
120
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
121 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
122 * Sets the account that will do the pouncing.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
123 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
124 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
125 * @param pouncer The account that will pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
126 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
127 void gaim_pounce_set_pouncer(GaimPounce *pounce, GaimAccount *pouncer);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
128
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
129 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
130 * Sets the buddy a pounce should pounce on.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
131 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
132 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
133 * @param pouncee The buddy to pounce on.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
134 */
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 5944
diff changeset
135 void gaim_pounce_set_pouncee(GaimPounce *pounce, const char *pouncee);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
136
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
137 /**
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
138 * Sets whether or not the pounce should be saved after execution.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
139 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
140 * @param pounce The buddy pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
141 * @param save @c TRUE if the pounce should be saved, or @c FALSE otherwise.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
142 */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
143 void gaim_pounce_set_save(GaimPounce *pounce, gboolean save);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
144
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
145 /**
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
146 * Registers an action type for the pounce.
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
147 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
148 * @param pounce The buddy pounce.
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
149 * @param name The action name.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
150 */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
151 void gaim_pounce_action_register(GaimPounce *pounce, const char *name);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
152
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
153 /**
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
154 * Enables or disables an action for a pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
155 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
156 * @param pounce The buddy pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
157 * @param action The name of the action.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
158 * @param enabled The enabled state.
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
159 */
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
160 void gaim_pounce_action_set_enabled(GaimPounce *pounce, const char *action,
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
161 gboolean enabled);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
162
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
163 /**
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
164 * Sets a value for an attribute in an action.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
165 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
166 * If @a value is @c NULL, the value will be unset.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
167 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
168 * @param pounce The buddy pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
169 * @param action The action name.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
170 * @param attr The attribute name.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
171 * @param value The value.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
172 */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
173 void gaim_pounce_action_set_attribute(GaimPounce *pounce, const char *action,
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
174 const char *attr, const char *value);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
175
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
176 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
177 * Sets the pounce-specific data.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
178 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
179 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
180 * @param data Data specific to the pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
181 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
182 void gaim_pounce_set_data(GaimPounce *pounce, void *data);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
183
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
184 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
185 * Returns the events a pounce should watch for.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
186 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
187 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
188 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
189 * @return The events the pounce is watching for.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
190 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
191 GaimPounceEvent gaim_pounce_get_events(const GaimPounce *pounce);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
192
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
193 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
194 * Returns the account that will do the pouncing.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
195 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
196 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
197 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
198 * @return The account that will pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
199 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
200 GaimAccount *gaim_pounce_get_pouncer(const GaimPounce *pounce);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
201
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
202 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
203 * Returns the buddy a pounce should pounce on.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
204 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
205 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
206 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
207 * @return The buddy to pounce on.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
208 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
209 const char *gaim_pounce_get_pouncee(const GaimPounce *pounce);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
210
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
211 /**
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
212 * Returns whether or not the pounce should save after execution.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
213 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
214 * @param pounce The buddy pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
215 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
216 * @return @c TRUE if the pounce should be saved after execution, or
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
217 * @c FALSE otherwise.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
218 */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
219 gboolean gaim_pounce_get_save(const GaimPounce *pounce);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
220
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
221 /**
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
222 * Returns whether or not an action is enabled.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
223 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
224 * @param pounce The buddy pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
225 * @param action The action name.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
226 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
227 * @return @c TRUE if the action is enabled, or @c FALSE otherwise.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
228 */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
229 gboolean gaim_pounce_action_is_enabled(const GaimPounce *pounce,
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
230 const char *action);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
231
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
232 /**
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
233 * Returns the value for an attribute in an action.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
234 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
235 * @param pounce The buddy pounce.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
236 * @param action The action name.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
237 * @param attr The attribute name.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
238 *
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
239 * @return The attribute value, if it exists, or @c NULL.
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
240 */
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
241 const char *gaim_pounce_action_get_attribute(const GaimPounce *pounce,
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
242 const char *action,
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
243 const char *attr);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
244
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
245 /**
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
246 * Returns the pounce-specific data.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
247 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
248 * @param pounce The buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
249 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
250 * @return The data specific to a buddy pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
251 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
252 void *gaim_pounce_get_data(const GaimPounce *pounce);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
253
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
254 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
255 * Executes a pounce with the specified pouncer, pouncee, and event type.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
256 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
257 * @param pouncer The account that will do the pouncing.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
258 * @param pouncee The buddy that is being pounced.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
259 * @param events The events that triggered the pounce.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
260 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
261 void gaim_pounce_execute(const GaimAccount *pouncer, const char *pouncee,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
262 GaimPounceEvent events);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
263
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
264 /*@}*/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
265
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
266 /**************************************************************************/
6837
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
267 /** @name Buddy Pounce Subsystem API */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
268 /**************************************************************************/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
269 /*@{*/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
270
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
271 /**
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
272 * Finds a pounce with the specified event(s) and buddy.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
273 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
274 * @param pouncer The account to match against.
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 5944
diff changeset
275 * @param pouncee The buddy to match against.
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
276 * @param events The event(s) to match against.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
277 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
278 * @return The pounce if found, or @c NULL otherwise.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
279 */
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
280 GaimPounce *gaim_find_pounce(const GaimAccount *pouncer,
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
281 const char *pouncee, GaimPounceEvent events);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
282
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
283
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
284 /**
5866
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
285 * Loads the pounces.
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
286 *
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
287 * @return @c TRUE if the pounces could be loaded.
5866
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
288 */
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
289 gboolean gaim_pounces_load(void);
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
290
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
291 /**
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
292 * Force an immediate write of pounces.
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
293 */
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
294 void gaim_pounces_sync(void);
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
295
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
296 /**
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
297 * Registers a pounce handler for a UI.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
298 *
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
299 * @param ui The UI name.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
300 * @param cb The callback function.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
301 * @param new_pounce The function called when a pounce is created.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
302 * @param free_pounce The function called when a pounce is freed.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
303 */
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
304 void gaim_pounces_register_handler(const char *ui, GaimPounceCb cb,
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
305 void (*new_pounce)(GaimPounce *pounce),
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
306 void (*free_pounce)(GaimPounce *pounce));
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
307
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
308 /**
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
309 * Unregisters a pounce handle for a UI.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
310 *
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
311 * @param ui The UI name.
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
312 */
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
313 void gaim_pounces_unregister_handler(const char *ui);
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
314
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
315 /**
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
316 * Returns a list of all registered buddy pounces.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
317 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
318 * @return The list of buddy pounces.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
319 */
5866
5caedbcd1bb7 [gaim-migrate @ 6297]
Christian Hammond <chipx86@chipx86.com>
parents: 5864
diff changeset
320 GList *gaim_pounces_get_all(void);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
321
6837
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
322 /**
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
323 * Returns the buddy pounce subsystem handle.
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
324 *
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
325 * @return The subsystem handle.
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
326 */
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
327 void *gaim_pounces_get_handle(void);
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
328
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
329 /**
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
330 * Initializes the pounces subsystem.
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
331 */
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
332 void gaim_pounces_init(void);
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
333
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
334 /**
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
335 * Uninitializes the pounces subsystem.
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
336 */
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
337 void gaim_pounces_uninit(void);
7c0a9bac0f3f [gaim-migrate @ 7382]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
338
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
339 /*@}*/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
340
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
341 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
342 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
343 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
344
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
345 #endif /* _GAIM_POUNCE_H_ */

mercurial