src/signals.h

Thu, 07 Apr 2005 14:55:02 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Thu, 07 Apr 2005 14:55:02 +0000
changeset 10789
cabd145237d8
parent 10656
8f98dee5f83a
child 11064
8183c72bef80
permissions
-rw-r--r--

[gaim-migrate @ 12431]
" The following log snippets should explain it: " --rlaager

(20:24:00) rlaager: Regarding the signal handling
conversation the other day... I've written a patch to stop
calling signal handlers and return as soon as we find one
signal handler that returns TRUE to indicate that it's
handled the signal. Is this the right approach?

(20:24:22) Ethan Blanton (Paco-Paco): the trouble is that it's
documented to behave exactly the way it does
(20:24:31) Ethan Blanton (Paco-Paco): so changing it is
notbackwards compatible
(20:24:31) rlaager: I'm talking for HEAD.
(20:24:41) Ethan Blanton (Paco-Paco): oh, I think that's a
good approach, yes
(20:24:53) rlaager: The way I've described is how I
*expected* it to work, having not read the documentation.
(20:25:09) Ethan Blanton (Paco-Paco): I'm convinced
(20:27:04) Stu Tomlinson (nosnilmot): rlaager: this, I
assume, breaks the generic-ness of signals, by assuming
that any that return values return booleans?
(20:27:26) Ethan Blanton (Paco-Paco): please break it
(20:27:33) Ethan Blanton (Paco-Paco): we already have
out-parameters
(20:27:42) rlaager: nosnilmot: from what I can see, the
return type is handled as a (void *)... so I'm checking that
ret_value != NULL
(20:27:57) rlaager: nosnilmot: that's the correct way to do it,
right?
...
(20:29:01) Ethan Blanton (Paco-Paco): allowing a
meaningful return value is an over-engineering
(20:30:07) rlaager: even after this patch, you should be able
to return meaningful return values
(20:30:15) rlaager: it'll just short-circuit on the first handler
that does

committer: Luke Schierer <lschiere@pidgin.im>

6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
2 * @file signals.h Signal API
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6822
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: 6822
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: 6822
diff changeset
9 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9554
diff changeset
25 #ifndef _GAIM_SIGNALS_H_
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9554
diff changeset
26 #define _GAIM_SIGNALS_H_
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 #include <glib.h>
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
29 #include "value.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 #define GAIM_CALLBACK(func) ((GaimCallback)func)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 typedef void (*GaimCallback)(void);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 typedef void (*GaimSignalMarshalFunc)(GaimCallback cb, va_list args,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 #ifdef __cplusplus
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 extern "C" {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 #endif
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 /** @name Signal API */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 /*@{*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 /**
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
47 * Signal Connect Priorities
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
48 */
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
49 #define GAIM_SIGNAL_PRIORITY_DEFAULT 0
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
50 #define GAIM_SIGNAL_PRIORITY_HIGHEST 9999
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
51 #define GAIM_SIGNAL_PRIORITY_LOWEST -9999
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
52
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
53 /**
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 * Registers a signal in an instance.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
56 * @param instance The instance to register the signal for.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
57 * @param signal The signal name.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
58 * @param marshal The marshal function.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
59 * @param ret_value The return value type, or NULL for no return value.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
60 * @param num_values The number of values to be passed to the callbacks.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
61 * @param ... The values to pass to the callbacks.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 * @return The signal ID local to that instance, or 0 if the signal
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 * couldn't be registered.
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
65 *
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
66 * @see GaimValue
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 gulong gaim_signal_register(void *instance, const char *signal,
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
69 GaimSignalMarshalFunc marshal,
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
70 GaimValue *ret_value, int num_values, ...);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 * Unregisters a signal in an instance.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 * @param instance The instance to unregister the signal for.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 * @param signal The signal name.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 void gaim_signal_unregister(void *instance, const char *signal);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 * Unregisters all signals in an instance.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 * @param instance The instance to unregister the signal for.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 void gaim_signals_unregister_by_instance(void *instance);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 /**
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
88 * Returns a list of value types used for a signal.
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
89 *
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
90 * @param instance The instance the signal is registered to.
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
91 * @param signal The signal.
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
92 * @param ret_value The return value from the last signal handler.
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
93 * @param num_values The returned number of values.
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
94 * @param values The returned list of values.
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
95 */
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
96 void gaim_signal_get_values(void *instance, const char *signal,
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
97 GaimValue **ret_value,
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
98 int *num_values, GaimValue ***values);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
99
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6562
diff changeset
100 /**
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101 * Connects a signal handler to a signal for a particular object.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103 * Take care not to register a handler function twice. Gaim will
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 * not correct any mistakes for you in this area.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
106 * @param instance The instance to connect to.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
107 * @param signal The name of the signal to connect.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
108 * @param handle The handle of the receiver.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 * @param func The callback function.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110 * @param data The data to pass to the callback function.
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
111 * @param priority The order in which the signal should be added to the list
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
112 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
113 * @return The signal handler ID.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
114 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
115 * @see gaim_signal_disconnect()
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
116 */
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
117 gulong gaim_signal_connect_priority(void *instance, const char *signal,
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
118 void *handle, GaimCallback func, void *data, int priority);
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
119
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
120 /**
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
121 * Connects a signal handler to a signal for a particular object.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
122 * (priority defaults to 0)
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
123 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
124 * Take care not to register a handler function twice. Gaim will
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
125 * not correct any mistakes for you in this area.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
126 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
127 * @param instance The instance to connect to.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
128 * @param signal The name of the signal to connect.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
129 * @param handle The handle of the receiver.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
130 * @param func The callback function.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
131 * @param data The data to pass to the callback function.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
133 * @return The signal handler ID.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
135 * @see gaim_signal_disconnect()
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
137 gulong gaim_signal_connect(void *instance, const char *signal,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
138 void *handle, GaimCallback func, void *data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140 /**
6548
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
141 * Connects a signal handler to a signal for a particular object.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
142 *
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
143 * The signal handler will take a va_args of arguments, instead of
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
144 * individual arguments.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
145 *
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
146 * Take care not to register a handler function twice. Gaim will
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
147 * not correct any mistakes for you in this area.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
148 *
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
149 * @param instance The instance to connect to.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
150 * @param signal The name of the signal to connect.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
151 * @param handle The handle of the receiver.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
152 * @param func The callback function.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
153 * @param data The data to pass to the callback function.
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
154 * @param priority The order in which the signal should be added to the list
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
155 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
156 * @return The signal handler ID.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
157 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
158 * @see gaim_signal_disconnect()
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
159 */
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
160 gulong gaim_signal_connect_priority_vargs(void *instance, const char *signal,
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
161 void *handle, GaimCallback func, void *data, int priority);
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
162
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
163 /**
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
164 * Connects a signal handler to a signal for a particular object.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
165 * (priority defaults to 0)
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
166 * The signal handler will take a va_args of arguments, instead of
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
167 * individual arguments.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
168 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
169 * Take care not to register a handler function twice. Gaim will
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
170 * not correct any mistakes for you in this area.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
171 *
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
172 * @param instance The instance to connect to.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
173 * @param signal The name of the signal to connect.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
174 * @param handle The handle of the receiver.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
175 * @param func The callback function.
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10104
diff changeset
176 * @param data The data to pass to the callback function.
6548
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
177 *
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
178 * @return The signal handler ID.
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
179 *
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
180 * @see gaim_signal_disconnect()
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
181 */
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
182 gulong gaim_signal_connect_vargs(void *instance, const char *signal,
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
183 void *handle, GaimCallback func, void *data);
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
184
40da3b90b19f [gaim-migrate @ 7070]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
185 /**
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
186 * Disconnects a signal handler from a signal on an object.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
187 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
188 * @param instance The instance to disconnect from.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
189 * @param signal The name of the signal to disconnect.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
190 * @param handle The handle of the receiver.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
191 * @param func The registered function to disconnect.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193 * @see gaim_signal_connect()
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195 void gaim_signal_disconnect(void *instance, const char *signal,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 void *handle, GaimCallback func);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 * Removes all callbacks associated with a receiver handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
201 * @param handle The receiver handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
202 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
203 void gaim_signals_disconnect_by_handle(void *handle);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
204
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
205 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
206 * Emits a signal.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
207 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
208 * @param instance The instance emitting the signal.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
209 * @param signal The signal being emitted.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
210 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
211 * @see gaim_signal_connect()
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
212 * @see gaim_signal_disconnect()
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
213 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
214 void gaim_signal_emit(void *instance, const char *signal, ...);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
215
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
216 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
217 * Emits a signal, using a va_list of arguments.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
218 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
219 * @param instance The instance emitting the signal.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
220 * @param signal The signal being emitted.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
221 * @param args The arguments list.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
222 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
223 * @see gaim_signal_connect()
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224 * @see gaim_signal_disconnect()
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
225 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
226 void gaim_signal_emit_vargs(void *instance, const char *signal, va_list args);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
227
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
228 /**
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
229 * Emits a signal and returns the first non-NULL return value.
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
230 *
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
231 * Further signal handlers are NOT called after a handler returns
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
232 * something other than NULL.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
234 * @param instance The instance emitting the signal.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
235 * @param signal The signal being emitted.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
236 *
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
237 * @return The first non-NULL return value
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
238 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239 void *gaim_signal_emit_return_1(void *instance, const char *signal, ...);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
240
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
241 /**
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
242 * Emits a signal and returns the first non-NULL return value.
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
243 *
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
244 * Further signal handlers are NOT called after a handler returns
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
245 * something other than NULL.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
246 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
247 * @param instance The instance emitting the signal.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 * @param signal The signal being emitted.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249 * @param args The arguments list.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
250 *
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10656
diff changeset
251 * @return The first non-NULL return value
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
252 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
253 void *gaim_signal_emit_vargs_return_1(void *instance, const char *signal,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254 va_list args);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257 * Initializes the signals subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
258 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
259 void gaim_signals_init();
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
260
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
262 * Uninitializes the signals subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264 void gaim_signals_uninit();
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
266 /*@}*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
267
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
268 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269 /** @name Marshal Functions */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 /*@{*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273 void gaim_marshal_VOID(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
274 GaimCallback cb, va_list args, void *data, void **return_val);
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
275 void gaim_marshal_VOID__INT(
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
276 GaimCallback cb, va_list args, void *data, void **return_val);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
277 void gaim_marshal_VOID__INT_INT(
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
278 GaimCallback cb, va_list args, void *data, void **return_val);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279 void gaim_marshal_VOID__POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280 GaimCallback cb, va_list args, void *data, void **return_val);
9734
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9713
diff changeset
281 void gaim_marshal_VOID__POINTER_UINT(
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9713
diff changeset
282 GaimCallback cb, va_list args, void *data, void **return_val);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
283 void gaim_marshal_VOID__POINTER_POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285 void gaim_marshal_VOID__POINTER_POINTER_UINT(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
286 GaimCallback cb, va_list args, void *data, void **return_val);
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
287 void gaim_marshal_VOID__POINTER_POINTER_UINT_UINT(
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
288 GaimCallback cb, va_list args, void *data, void **return_val);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 void gaim_marshal_VOID__POINTER_POINTER_POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
290 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291 void gaim_marshal_VOID__POINTER_POINTER_POINTER_POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
292 GaimCallback cb, va_list args, void *data, void **return_val);
9514
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
293 void gaim_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER(
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 8046
diff changeset
294 GaimCallback cb, va_list args, void *data, void **return_val);
6509
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
295 void gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT(
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
296 GaimCallback cb, va_list args, void *data, void **return_val);
10104
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
297 void gaim_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT(
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
298 GaimCallback cb, va_list args, void *data, void **return_val);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
299 void gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
300 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
301
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
302 void gaim_marshal_INT__INT(
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
303 GaimCallback cb, va_list args, void *data, void **return_val);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
304 void gaim_marshal_INT__INT_INT(
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
305 GaimCallback cb, va_list args, void *data, void **return_val);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
306
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
307 void gaim_marshal_BOOLEAN__POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
308 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
309 void gaim_marshal_BOOLEAN__POINTER_POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 GaimCallback cb, va_list args, void *data, void **return_val);
6509
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
311 void gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER(
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
312 GaimCallback cb, va_list args, void *data, void **return_val);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
313 void gaim_marshal_BOOLEAN__POINTER_POINTER_UINT(
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
314 GaimCallback cb, va_list args, void *data, void **return_val);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
315 void gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
316 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
317 void gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
318 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
319 void gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
320 GaimCallback cb, va_list args, void *data, void **return_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
321
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
322 /*@}*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
323
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
324 #ifdef __cplusplus
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
326 #endif
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
327
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9554
diff changeset
328 #endif /* _GAIM_SIGNALS_H_ */

mercurial