libpurple/signals.c

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 25888
d0fdd378a635
child 27161
2c917049469f
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

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.c Signal API
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* purple
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8004
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8004
diff changeset
10 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * 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
14 * the Free Software Foundation; either version 2 of the License, or
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * (at your option) any later version.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * GNU General Public License for more details.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18751
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 #include "internal.h"
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
11080
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
28 #include "dbus-maybe.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 #include "debug.h"
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 #include "signals.h"
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
31 #include "value.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
9127
51855e2708ea [gaim-migrate @ 9905]
Nathan Walp <nwalp@pidgin.im>
parents: 8142
diff changeset
33 /* must include this to use G_VA_COPY */
51855e2708ea [gaim-migrate @ 9905]
Nathan Walp <nwalp@pidgin.im>
parents: 8142
diff changeset
34 #include <string.h>
51855e2708ea [gaim-migrate @ 9905]
Nathan Walp <nwalp@pidgin.im>
parents: 8142
diff changeset
35
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 typedef struct
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 void *instance;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 GHashTable *signals;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 size_t signal_count;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 gulong next_signal_id;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
45 } PurpleInstanceData;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 typedef struct
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 gulong id;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
51 PurpleSignalMarshalFunc marshal;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
53 int num_values;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
54 PurpleValue **values;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
55 PurpleValue *ret_value;
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
56
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 GList *handlers;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 size_t handler_count;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 gulong next_handler_id;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
61 } PurpleSignalData;
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 typedef struct
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 gulong id;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
66 PurpleCallback cb;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 void *handle;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 void *data;
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
69 gboolean use_vargs;
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
70 int priority;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
72 } PurpleSignalHandlerData;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 static GHashTable *instance_table = NULL;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
77 destroy_instance_data(PurpleInstanceData *instance_data)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 g_hash_table_destroy(instance_data->signals);
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 g_free(instance_data);
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
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
85 destroy_signal_data(PurpleSignalData *signal_data)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 14049
diff changeset
87 g_list_foreach(signal_data->handlers, (GFunc)g_free, NULL);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 g_list_free(signal_data->handlers);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
90 if (signal_data->values != NULL)
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
91 {
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
92 int i;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
93
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
94 for (i = 0; i < signal_data->num_values; i++)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
95 purple_value_destroy((PurpleValue *)signal_data->values[i]);
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
96
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
97 g_free(signal_data->values);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
98 }
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
99
10542
be3f17ecaa1f [gaim-migrate @ 11907]
Andrew Hart <arhart@users.sourceforge.net>
parents: 10276
diff changeset
100 if (signal_data->ret_value != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
101 purple_value_destroy(signal_data->ret_value);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 g_free(signal_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 gulong
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
106 purple_signal_register(void *instance, const char *signal,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
107 PurpleSignalMarshalFunc marshal,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
108 PurpleValue *ret_value, int num_values, ...)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
110 PurpleInstanceData *instance_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
111 PurpleSignalData *signal_data;
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
112 va_list args;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
113
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
114 g_return_val_if_fail(instance != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
115 g_return_val_if_fail(signal != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
116 g_return_val_if_fail(marshal != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
117
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
118 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
119 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
121 if (instance_data == NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
123 instance_data = g_new0(PurpleInstanceData, 1);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 instance_data->instance = instance;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 instance_data->next_signal_id = 1;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 instance_data->signals =
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129 g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130 (GDestroyNotify)destroy_signal_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132 g_hash_table_insert(instance_table, instance, instance_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
133 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
135 signal_data = g_new0(PurpleSignalData, 1);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136 signal_data->id = instance_data->next_signal_id;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
137 signal_data->marshal = marshal;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
138 signal_data->next_handler_id = 1;
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
139 signal_data->ret_value = ret_value;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
140 signal_data->num_values = num_values;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
141
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
142 if (num_values > 0)
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
143 {
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
144 int i;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
145
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
146 signal_data->values = g_new0(PurpleValue *, num_values);
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
147
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
148 va_start(args, num_values);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
149
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
150 for (i = 0; i < num_values; i++)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
151 signal_data->values[i] = va_arg(args, PurpleValue *);
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
152
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
153 va_end(args);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
154 }
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156 g_hash_table_insert(instance_data->signals,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
157 g_strdup(signal), signal_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
158
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159 instance_data->next_signal_id++;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160 instance_data->signal_count++;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
162 return signal_data->id;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
164
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
166 purple_signal_unregister(void *instance, const char *signal)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
168 PurpleInstanceData *instance_data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170 g_return_if_fail(instance != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171 g_return_if_fail(signal != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
172
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
174 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176 g_return_if_fail(instance_data != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 g_hash_table_remove(instance_data->signals, signal);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180 instance_data->signal_count--;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182 if (instance_data->signal_count == 0)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
184 /* Unregister the instance. */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
185 g_hash_table_remove(instance_table, instance);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
186 }
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
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
189 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
190 purple_signals_unregister_by_instance(void *instance)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
191 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 gboolean found;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 g_return_if_fail(instance != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 found = g_hash_table_remove(instance_table, instance);
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 * Makes things easier (more annoying?) for developers who don't have
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200 * things registering and unregistering in the right order :)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
201 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
202 g_return_if_fail(found);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
203 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
204
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
205 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
206 purple_signal_get_values(void *instance, const char *signal,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
207 PurpleValue **ret_value,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
208 int *num_values, PurpleValue ***values)
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
209 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
210 PurpleInstanceData *instance_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
211 PurpleSignalData *signal_data;
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
212
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
213 g_return_if_fail(instance != NULL);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
214 g_return_if_fail(signal != NULL);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
215 g_return_if_fail(num_values != NULL);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
216 g_return_if_fail(values != NULL);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
217
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
218 /* Get the instance data */
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
219 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
220 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
221
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
222 g_return_if_fail(instance_data != NULL);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
223
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
224 /* Get the signal data */
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
225 signal_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
226 (PurpleSignalData *)g_hash_table_lookup(instance_data->signals, signal);
6564
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
227
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
228 g_return_if_fail(signal_data != NULL);
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
229
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
230 *num_values = signal_data->num_values;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
231 *values = signal_data->values;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
232
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
233 if (ret_value != NULL)
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
234 *ret_value = signal_data->ret_value;
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
235 }
a7a2c1927544 [gaim-migrate @ 7086]
Christian Hammond <chipx86@chipx86.com>
parents: 6553
diff changeset
236
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
237 static gint handler_priority(void * a, void * b) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
238 PurpleSignalHandlerData *ah = (PurpleSignalHandlerData*)a;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
239 PurpleSignalHandlerData *bh = (PurpleSignalHandlerData*)b;
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
240 if (ah->priority > bh->priority) return 1;
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
241 if (ah->priority < bh->priority) return -1;
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
242 return 0;
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
243 }
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
244
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
245 static gulong
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
246 signal_connect_common(void *instance, const char *signal, void *handle,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
247 PurpleCallback func, void *data, int priority, gboolean use_vargs)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
249 PurpleInstanceData *instance_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
250 PurpleSignalData *signal_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
251 PurpleSignalHandlerData *handler_data;
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 g_return_val_if_fail(instance != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254 g_return_val_if_fail(signal != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255 g_return_val_if_fail(handle != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 g_return_val_if_fail(func != NULL, 0);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
258 /* Get the instance data */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
259 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
260 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261
14018
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13056
diff changeset
262 if (instance_data == NULL)
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13056
diff changeset
263 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
264 purple_debug_warning("signals", "Something tried to register a callback "
14018
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13056
diff changeset
265 "for the '%s' signal, but we do not have any signals "
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13056
diff changeset
266 "registered with the given handle\n", signal);
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13056
diff changeset
267 g_return_val_if_reached(0);
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13056
diff changeset
268 }
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 /* Get the signal data */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 signal_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
272 (PurpleSignalData *)g_hash_table_lookup(instance_data->signals, signal);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
274 if (signal_data == NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
275 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
276 purple_debug(PURPLE_DEBUG_ERROR, "signals",
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
277 "Signal data for %s not found!\n", signal);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 return 0;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281 /* Create the signal handler data */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
282 handler_data = g_new0(PurpleSignalHandlerData, 1);
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
283 handler_data->id = signal_data->next_handler_id;
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
284 handler_data->cb = func;
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
285 handler_data->handle = handle;
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
286 handler_data->data = data;
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
287 handler_data->use_vargs = use_vargs;
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
288 handler_data->priority = priority;
10758
b4554ec8d126 [gaim-migrate @ 12361]
Mark Doliner <markdoliner@pidgin.im>
parents: 10656
diff changeset
289
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
290 signal_data->handlers = g_list_insert_sorted(signal_data->handlers, handler_data, (GCompareFunc)handler_priority);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291 signal_data->handler_count++;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
292 signal_data->next_handler_id++;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
293
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
294 return handler_data->id;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
295 }
6553
83467711007f [gaim-migrate @ 7075]
Christian Hammond <chipx86@chipx86.com>
parents: 6547
diff changeset
296
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
297 gulong
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
298 purple_signal_connect_priority(void *instance, const char *signal, void *handle,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
299 PurpleCallback func, void *data, int priority)
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
300 {
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
301 return signal_connect_common(instance, signal, handle, func, data, priority, FALSE);
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
302 }
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
303
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
304 gulong
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
305 purple_signal_connect(void *instance, const char *signal, void *handle,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
306 PurpleCallback func, void *data)
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
307 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
308 return signal_connect_common(instance, signal, handle, func, data, PURPLE_SIGNAL_PRIORITY_DEFAULT, FALSE);
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
309 }
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
310
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
311 gulong
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
312 purple_signal_connect_priority_vargs(void *instance, const char *signal, void *handle,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
313 PurpleCallback func, void *data, int priority)
10656
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
314 {
8f98dee5f83a [gaim-migrate @ 12186]
Will Gorman
parents: 10542
diff changeset
315 return signal_connect_common(instance, signal, handle, func, data, priority, TRUE);
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
316 }
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
317
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
318 gulong
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
319 purple_signal_connect_vargs(void *instance, const char *signal, void *handle,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
320 PurpleCallback func, void *data)
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
321 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
322 return signal_connect_common(instance, signal, handle, func, data, PURPLE_SIGNAL_PRIORITY_DEFAULT, TRUE);
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
323 }
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
324
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
326 purple_signal_disconnect(void *instance, const char *signal,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
327 void *handle, PurpleCallback func)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
329 PurpleInstanceData *instance_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
330 PurpleSignalData *signal_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
331 PurpleSignalHandlerData *handler_data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 GList *l;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333 gboolean found = FALSE;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
335 g_return_if_fail(instance != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
336 g_return_if_fail(signal != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337 g_return_if_fail(handle != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
338 g_return_if_fail(func != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 /* Get the instance data */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
341 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
342 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
343
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
344 g_return_if_fail(instance_data != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
345
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
346 /* Get the signal data */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347 signal_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
348 (PurpleSignalData *)g_hash_table_lookup(instance_data->signals, signal);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
349
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
350 if (signal_data == NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
352 purple_debug(PURPLE_DEBUG_ERROR, "signals",
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
353 "Signal data for %s not found!\n", signal);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
354 return;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
357 /* Find the handler data. */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358 for (l = signal_data->handlers; l != NULL; l = l->next)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
360 handler_data = (PurpleSignalHandlerData *)l->data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
361
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
362 if (handler_data->handle == handle && handler_data->cb == func)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
363 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
364 g_free(handler_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
365
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
366 signal_data->handlers = g_list_remove(signal_data->handlers,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
367 handler_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
368 signal_data->handler_count--;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
369
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
370 found = TRUE;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
371
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
372 break;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
373 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
374 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 /* See note somewhere about this actually helping developers.. */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
377 g_return_if_fail(found);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
378 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380 /*
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
381 * TODO: Make this all more efficient by storing a list of handlers, keyed
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 * to a handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 static void
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
385 disconnect_handle_from_signals(const char *signal,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
386 PurpleSignalData *signal_data, void *handle)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388 GList *l, *l_next;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
389 PurpleSignalHandlerData *handler_data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
391 for (l = signal_data->handlers; l != NULL; l = l_next)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
393 handler_data = (PurpleSignalHandlerData *)l->data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
394 l_next = l->next;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396 if (handler_data->handle == handle)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
397 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
398 g_free(handler_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
400 signal_data->handler_count--;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
401 signal_data->handlers = g_list_remove(signal_data->handlers,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 handler_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
405 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
406
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407 static void
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 disconnect_handle_from_instance(void *instance,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
409 PurpleInstanceData *instance_data,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 void *handle)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 g_hash_table_foreach(instance_data->signals,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413 (GHFunc)disconnect_handle_from_signals, handle);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
416 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
417 purple_signals_disconnect_by_handle(void *handle)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
418 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
419 g_return_if_fail(handle != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421 g_hash_table_foreach(instance_table,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
422 (GHFunc)disconnect_handle_from_instance, handle);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
425 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
426 purple_signal_emit(void *instance, const char *signal, ...)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
427 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428 va_list args;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
429
7584
c5c001397626 [gaim-migrate @ 8202]
Christian Hammond <chipx86@chipx86.com>
parents: 6822
diff changeset
430 g_return_if_fail(instance != NULL);
c5c001397626 [gaim-migrate @ 8202]
Christian Hammond <chipx86@chipx86.com>
parents: 6822
diff changeset
431 g_return_if_fail(signal != NULL);
c5c001397626 [gaim-migrate @ 8202]
Christian Hammond <chipx86@chipx86.com>
parents: 6822
diff changeset
432
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
433 va_start(args, signal);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
434 purple_signal_emit_vargs(instance, signal, args);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
435 va_end(args);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
436 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
437
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
438 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
439 purple_signal_emit_vargs(void *instance, const char *signal, va_list args)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
440 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
441 PurpleInstanceData *instance_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
442 PurpleSignalData *signal_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
443 PurpleSignalHandlerData *handler_data;
8004
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
444 GList *l, *l_next;
8090
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
445 va_list tmp;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
446
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
447 g_return_if_fail(instance != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
448 g_return_if_fail(signal != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
449
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
450 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
451 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
453 g_return_if_fail(instance_data != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
454
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455 signal_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
456 (PurpleSignalData *)g_hash_table_lookup(instance_data->signals, signal);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
457
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
458 if (signal_data == NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
460 purple_debug(PURPLE_DEBUG_ERROR, "signals",
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
461 "Signal data for %s not found!\n", signal);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
462 return;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
464
8004
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
465 for (l = signal_data->handlers; l != NULL; l = l_next)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
466 {
8004
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
467 l_next = l->next;
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
468
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
469 handler_data = (PurpleSignalHandlerData *)l->data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
470
8090
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
471 /* This is necessary because a va_list may only be
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
472 * evaluated once */
8142
d4b3c6655f21 [gaim-migrate @ 8850]
Ethan Blanton <elb@pidgin.im>
parents: 8140
diff changeset
473 G_VA_COPY(tmp, args);
8090
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
474
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
475 if (handler_data->use_vargs)
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
476 {
8090
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
477 ((void (*)(va_list, void *))handler_data->cb)(tmp,
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
478 handler_data->data);
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
479 }
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
480 else
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
481 {
8090
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
482 signal_data->marshal(handler_data->cb, tmp,
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
483 handler_data->data, NULL);
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
484 }
8090
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
485
a961deaab375 [gaim-migrate @ 8789]
Ben Herrenschmidt
parents: 8046
diff changeset
486 va_end(tmp);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
487 }
11080
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
488
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
489 #ifdef HAVE_DBUS
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 21655
diff changeset
490 purple_dbus_signal_emit_purple(signal, signal_data->num_values,
11080
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
491 signal_data->values, args);
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
492 #endif /* HAVE_DBUS */
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
493
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
497 purple_signal_emit_return_1(void *instance, const char *signal, ...)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
498 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
499 void *ret_val;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
500 va_list args;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
501
7597
2be4a67c61db [gaim-migrate @ 8218]
Christian Hammond <chipx86@chipx86.com>
parents: 7585
diff changeset
502 g_return_val_if_fail(instance != NULL, NULL);
2be4a67c61db [gaim-migrate @ 8218]
Christian Hammond <chipx86@chipx86.com>
parents: 7585
diff changeset
503 g_return_val_if_fail(signal != NULL, NULL);
7585
b11298b0be88 [gaim-migrate @ 8203]
Christian Hammond <chipx86@chipx86.com>
parents: 7584
diff changeset
504
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
505 va_start(args, signal);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
506 ret_val = purple_signal_emit_vargs_return_1(instance, signal, args);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
507 va_end(args);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
508
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
509 return ret_val;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
510 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
511
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
512 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
513 purple_signal_emit_vargs_return_1(void *instance, const char *signal,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
514 va_list args)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
515 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
516 PurpleInstanceData *instance_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
517 PurpleSignalData *signal_data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
518 PurpleSignalHandlerData *handler_data;
8004
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
519 GList *l, *l_next;
8140
e5828d87baad [gaim-migrate @ 8846]
Zaheer Merali <zaheerabbas@merali.org>
parents: 8090
diff changeset
520 va_list tmp;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
521
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
522 g_return_val_if_fail(instance != NULL, NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
523 g_return_val_if_fail(signal != NULL, NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
524
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
525 instance_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
526 (PurpleInstanceData *)g_hash_table_lookup(instance_table, instance);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
527
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
528 g_return_val_if_fail(instance_data != NULL, NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
529
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
530 signal_data =
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
531 (PurpleSignalData *)g_hash_table_lookup(instance_data->signals, signal);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
532
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
533 if (signal_data == NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
534 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
535 purple_debug(PURPLE_DEBUG_ERROR, "signals",
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
536 "Signal data for %s not found!\n", signal);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
537 return 0;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
538 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
539
11080
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
540 #ifdef HAVE_DBUS
13056
09d5214fca9e [gaim-migrate @ 15418]
Etan Reisner <deryni@pidgin.im>
parents: 13055
diff changeset
541 G_VA_COPY(tmp, args);
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 21655
diff changeset
542 purple_dbus_signal_emit_purple(signal, signal_data->num_values,
13055
f3b02fef5fae [gaim-migrate @ 15417]
Richard Laager <rlaager@pidgin.im>
parents: 12737
diff changeset
543 signal_data->values, tmp);
f3b02fef5fae [gaim-migrate @ 15417]
Richard Laager <rlaager@pidgin.im>
parents: 12737
diff changeset
544 va_end(tmp);
11080
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
545 #endif /* HAVE_DBUS */
0578003800d0 [gaim-migrate @ 13092]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11064
diff changeset
546
8004
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
547 for (l = signal_data->handlers; l != NULL; l = l_next)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
548 {
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10758
diff changeset
549 void *ret_val = NULL;
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10758
diff changeset
550
8004
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
551 l_next = l->next;
32efb93b8b4d [gaim-migrate @ 8681]
Christian Hammond <chipx86@chipx86.com>
parents: 7597
diff changeset
552
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
553 handler_data = (PurpleSignalHandlerData *)l->data;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
554
8142
d4b3c6655f21 [gaim-migrate @ 8850]
Ethan Blanton <elb@pidgin.im>
parents: 8140
diff changeset
555 G_VA_COPY(tmp, args);
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
556 if (handler_data->use_vargs)
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
557 {
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
558 ret_val = ((void *(*)(va_list, void *))handler_data->cb)(
8140
e5828d87baad [gaim-migrate @ 8846]
Zaheer Merali <zaheerabbas@merali.org>
parents: 8090
diff changeset
559 tmp, handler_data->data);
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
560 }
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
561 else
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
562 {
8140
e5828d87baad [gaim-migrate @ 8846]
Zaheer Merali <zaheerabbas@merali.org>
parents: 8090
diff changeset
563 signal_data->marshal(handler_data->cb, tmp,
6547
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
564 handler_data->data, &ret_val);
ffc0e15d291b [gaim-migrate @ 7069]
Christian Hammond <chipx86@chipx86.com>
parents: 6509
diff changeset
565 }
8140
e5828d87baad [gaim-migrate @ 8846]
Zaheer Merali <zaheerabbas@merali.org>
parents: 8090
diff changeset
566 va_end(tmp);
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10758
diff changeset
567
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10758
diff changeset
568 if (ret_val != NULL)
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10758
diff changeset
569 return ret_val;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
570 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
571
10789
cabd145237d8 [gaim-migrate @ 12431]
Richard Laager <rlaager@pidgin.im>
parents: 10758
diff changeset
572 return NULL;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
573 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
574
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
575 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
576 purple_signals_init()
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
577 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
578 g_return_if_fail(instance_table == NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
579
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580 instance_table =
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
581 g_hash_table_new_full(g_direct_hash, g_direct_equal,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
582 NULL, (GDestroyNotify)destroy_instance_data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
583 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
584
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
585 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
586 purple_signals_uninit()
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
587 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
588 g_return_if_fail(instance_table != NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
589
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590 g_hash_table_destroy(instance_table);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
591 instance_table = NULL;
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
593
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
594 /**************************************************************************
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
595 * Marshallers
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
596 **************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
597 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
598 purple_marshal_VOID(PurpleCallback cb, va_list args, void *data,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
599 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
600 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
601 ((void (*)(void *))cb)(data);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
602 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
605 purple_marshal_VOID__INT(PurpleCallback cb, va_list args, void *data,
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
606 void **return_val)
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
607 {
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
608 gint arg1 = va_arg(args, gint);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
609
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
610 ((void (*)(gint, void *))cb)(arg1, data);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
611 }
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
612
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
613 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
614 purple_marshal_VOID__INT_INT(PurpleCallback cb, va_list args, void *data,
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
615 void **return_val)
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
616 {
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
617 gint arg1 = va_arg(args, gint);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
618 gint arg2 = va_arg(args, gint);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
619
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
620 ((void (*)(gint, gint, void *))cb)(arg1, arg2, data);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
621 }
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
622
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
623 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
624 purple_marshal_VOID__POINTER(PurpleCallback cb, va_list args, void *data,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
626 {
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
627 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
628
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
629 ((void (*)(void *, void *))cb)(arg1, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
630 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
631
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
632 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
633 purple_marshal_VOID__POINTER_UINT(PurpleCallback cb, va_list args,
9734
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
634 void *data, void **return_val)
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
635 {
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
636 void *arg1 = va_arg(args, void *);
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
637 guint arg2 = va_arg(args, guint);
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
638
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
639 ((void (*)(void *, guint, void *))cb)(arg1, arg2, data);
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
640 }
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
641
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
642 void purple_marshal_VOID__POINTER_INT_INT(PurpleCallback cb, va_list args,
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
643 void *data, void **return_val)
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
644 {
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
645 void *arg1 = va_arg(args, void *);
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
646 gint arg2 = va_arg(args, gint);
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
647 gint arg3 = va_arg(args, gint);
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
648
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
649 ((void (*)(void *, gint, gint, void *))cb)(arg1, arg2, arg3, data);
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
650 }
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11256
diff changeset
651
21285
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
652 void purple_marshal_VOID__POINTER_INT_POINTER(PurpleCallback cb, va_list args,
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
653 void *data, void **return_val)
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
654 {
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
655 void *arg1 = va_arg(args, void *);
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
656 gint arg2 = va_arg(args, gint);
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
657 void *arg3 = va_arg(args, void *);
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
658
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
659 ((void (*)(void *, gint, void *, void *))cb)(arg1, arg2, arg3, data);
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
660 }
ca8cb8706802 I figured a signal firing on a connection error would be useful.
Will Thompson <resiak@pidgin.im>
parents: 20826
diff changeset
661
9734
58a18645cbd5 [gaim-migrate @ 10595]
Kevin Stange <kstange@pidgin.im>
parents: 9554
diff changeset
662 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
663 purple_marshal_VOID__POINTER_POINTER(PurpleCallback cb, va_list args,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
664 void *data, void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
665 {
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
666 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
667 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
668
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
669 ((void (*)(void *, void *, void *))cb)(arg1, arg2, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
670 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
671
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
672 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
673 purple_marshal_VOID__POINTER_POINTER_UINT(PurpleCallback cb, va_list args,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
674 void *data, void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
675 {
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
676 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
677 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
678 guint arg3 = va_arg(args, guint);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
679
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
680 ((void (*)(void *, void *, guint, void *))cb)(arg1, arg2, arg3, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
681 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
682
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
683 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
684 purple_marshal_VOID__POINTER_POINTER_UINT_UINT(PurpleCallback cb, va_list args,
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
685 void *data, void **return_val)
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
686 {
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
687 void *arg1 = va_arg(args, void *);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
688 void *arg2 = va_arg(args, void *);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
689 guint arg3 = va_arg(args, guint);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
690 guint arg4 = va_arg(args, guint);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
691
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
692 ((void (*)(void *, void *, guint, guint, void *))cb)(arg1, arg2, arg3, arg4, data);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
693 }
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
694
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9514
diff changeset
695 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
696 purple_marshal_VOID__POINTER_POINTER_POINTER(PurpleCallback cb, va_list args,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
697 void *data, void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
698 {
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
699 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
700 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
701 void *arg3 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
702
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
703 ((void (*)(void *, void *, void *, void *))cb)(arg1, arg2, arg3, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
704 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
705
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
706 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
707 purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER(PurpleCallback cb,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
708 va_list args,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
709 void *data,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
710 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
711 {
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
712 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
713 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
714 void *arg3 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
715 void *arg4 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
716
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
717 ((void (*)(void *, void *, void *, void *, void *))cb)(arg1, arg2, arg3, arg4, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
718 }
6509
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
719
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
720 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
721 purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER(PurpleCallback cb,
9514
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
722 va_list args,
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
723 void *data,
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
724 void **return_val)
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
725 {
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
726 void *arg1 = va_arg(args, void *);
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
727 void *arg2 = va_arg(args, void *);
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
728 void *arg3 = va_arg(args, void *);
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
729 void *arg4 = va_arg(args, void *);
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
730 void *arg5 = va_arg(args, void *);
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
731
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
732 ((void (*)(void *, void *, void *, void *, void *, void *))cb)(arg1, arg2, arg3, arg4, arg5, data);
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
733 }
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
734
05247f11e65c [gaim-migrate @ 10341]
Gary Kramlich <grim@pidgin.im>
parents: 9127
diff changeset
735 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
736 purple_marshal_VOID__POINTER_POINTER_POINTER_UINT(PurpleCallback cb,
6509
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
737 va_list args,
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
738 void *data,
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
739 void **return_val)
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
740 {
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
741 void *arg1 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
742 void *arg2 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
743 void *arg3 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
744 guint arg4 = va_arg(args, guint);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
745
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
746 ((void (*)(void *, void *, void *, guint, void *))cb)(arg1, arg2, arg3, arg4, data);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
747 }
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
748
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
749 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
750 purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT(PurpleCallback cb,
10104
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
751 va_list args,
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
752 void *data,
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
753 void **return_val)
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
754 {
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
755 void *arg1 = va_arg(args, void *);
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
756 void *arg2 = va_arg(args, void *);
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
757 void *arg3 = va_arg(args, void *);
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
758 void *arg4 = va_arg(args, void *);
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
759 guint arg5 = va_arg(args, guint);
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
760
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
761 ((void (*)(void *, void *, void *, void *, guint, void *))cb)(arg1, arg2, arg3, arg4, arg5, data);
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
762 }
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
763
081392879815 [gaim-migrate @ 11131]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9734
diff changeset
764 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
765 purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT(PurpleCallback cb,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
766 va_list args,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
767 void *data,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
768 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
769 {
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
770 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
771 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
772 void *arg3 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
773 guint arg4 = va_arg(args, guint);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
774 guint arg5 = va_arg(args, guint);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
775
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
776 ((void (*)(void *, void *, void *, guint, guint, void *))cb)(
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
777 arg1, arg2, arg3, arg4, arg5, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
778 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
779
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
780 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
781 purple_marshal_INT__INT(PurpleCallback cb, va_list args, void *data,
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
782 void **return_val)
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
783 {
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
784 gint ret_val;
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
785 gint arg1 = va_arg(args, gint);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
786
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
787 ret_val = ((gint (*)(gint, void *))cb)(arg1, data);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
788
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
789 if (return_val != NULL)
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
790 *return_val = GINT_TO_POINTER(ret_val);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
791 }
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
792
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
793 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
794 purple_marshal_INT__INT_INT(PurpleCallback cb, va_list args, void *data,
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
795 void **return_val)
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
796 {
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
797 gint ret_val;
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
798 gint arg1 = va_arg(args, gint);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
799 gint arg2 = va_arg(args, gint);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
800
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
801 ret_val = ((gint (*)(gint, gint, void *))cb)(arg1, arg2, data);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
802
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
803 if (return_val != NULL)
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
804 *return_val = GINT_TO_POINTER(ret_val);
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
805 }
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
806
20826
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
807 void
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
808 purple_marshal_INT__POINTER_POINTER(PurpleCallback cb, va_list args, void *data,
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
809 void **return_val)
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
810 {
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
811 gint ret_val;
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
812 void *arg1 = va_arg(args, void *);
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
813 void *arg2 = va_arg(args, void *);
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
814
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
815 ret_val = ((gint (*)(void *, void *, void *))cb)(arg1, arg2, data);
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
816
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
817 if (return_val != NULL)
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
818 *return_val = GINT_TO_POINTER(ret_val);
7d3e1c66e07c Add marshalling functions for the authorization signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20147
diff changeset
819 }
11064
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
820
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
821 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
822 purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
823 PurpleCallback cb, va_list args, void *data, void **return_val)
11064
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
824 {
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
825 gint ret_val;
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
826 void *arg1 = va_arg(args, void *);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
827 void *arg2 = va_arg(args, void *);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
828 void *arg3 = va_arg(args, void *);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
829 void *arg4 = va_arg(args, void *);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
830 void *arg5 = va_arg(args, void *);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
831
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
832 ret_val =
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
833 ((gint (*)(void *, void *, void *, void *, void *, void *))cb)(
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
834 arg1, arg2, arg3, arg4, arg5, data);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
835
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
836 if (return_val != NULL)
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
837 *return_val = GINT_TO_POINTER(ret_val);
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
838 }
8183c72bef80 [gaim-migrate @ 13035]
Levi Bard <levi@bard.sytes.net>
parents: 11033
diff changeset
839
6822
4adcde13ad17 [gaim-migrate @ 7366]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
840 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
841 purple_marshal_BOOLEAN__POINTER(PurpleCallback cb, va_list args, void *data,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
842 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
843 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
844 gboolean ret_val;
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
845 void *arg1 = va_arg(args, void *);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
846
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
847 ret_val = ((gboolean (*)(void *, void *))cb)(arg1, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
848
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
849 if (return_val != NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
850 *return_val = GINT_TO_POINTER(ret_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
851 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
852
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
853 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
854 purple_marshal_BOOLEAN__POINTER_POINTER(PurpleCallback cb, va_list args,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
855 void *data, void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
856 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
857 gboolean ret_val;
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
858 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
859 void *arg2 = va_arg(args, void *);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
860
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
861 ret_val = ((gboolean (*)(void *, void *, void *))cb)(arg1, arg2, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
862
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
863 if (return_val != NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
864 *return_val = GINT_TO_POINTER(ret_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
865 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
866
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
867 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
868 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER(PurpleCallback cb, va_list args,
6509
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
869 void *data, void **return_val)
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
870 {
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
871 gboolean ret_val;
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
872 void *arg1 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
873 void *arg2 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
874 void *arg3 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
875
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
876 ret_val = ((gboolean (*)(void *, void *, void *, void *))cb)(arg1, arg2,
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
877 arg3, data);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
878
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
879 if (return_val != NULL)
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
880 *return_val = GINT_TO_POINTER(ret_val);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
881 }
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
882
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
883 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
884 purple_marshal_BOOLEAN__POINTER_POINTER_UINT(PurpleCallback cb,
6509
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
885 va_list args,
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
886 void *data,
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
887 void **return_val)
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
888 {
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
889 gboolean ret_val;
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
890 void *arg1 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
891 void *arg2 = va_arg(args, void *);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
892 guint arg3 = va_arg(args, guint);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
893
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
894 ret_val = ((gboolean (*)(void *, void *, guint, void *))cb)(
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
895 arg1, arg2, arg3, data);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
896
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
897 if (return_val != NULL)
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
898 *return_val = GINT_TO_POINTER(ret_val);
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
899 }
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
900
2419bd620751 [gaim-migrate @ 7026]
Ethan Blanton <elb@pidgin.im>
parents: 6505
diff changeset
901 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
902 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT(PurpleCallback cb,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
903 va_list args,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
904 void *data,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
905 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
906 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
907 gboolean ret_val;
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
908 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
909 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
910 void *arg3 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
911 guint arg4 = va_arg(args, guint);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
912
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
913 ret_val = ((gboolean (*)(void *, void *, void *, guint, void *))cb)(
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
914 arg1, arg2, arg3, arg4, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
915
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
916 if (return_val != NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
917 *return_val = GINT_TO_POINTER(ret_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
918 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
919
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
920 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
921 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER(PurpleCallback cb,
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
922 va_list args,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
923 void *data,
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
924 void **return_val)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
925 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
926 gboolean ret_val;
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
927 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
928 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
929 void *arg3 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
930 void *arg4 = va_arg(args, void *);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
931
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
932 ret_val = ((gboolean (*)(void *, void *, void *, void *, void *))cb)(
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
933 arg1, arg2, arg3, arg4, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
934
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
935 if (return_val != NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
936 *return_val = GINT_TO_POINTER(ret_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
937 }
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
938
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
939 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
940 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
941 PurpleCallback cb, va_list args, void *data, void **return_val)
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
942 {
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
943 gboolean ret_val;
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
944 void *arg1 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
945 void *arg2 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
946 void *arg3 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
947 void *arg4 = va_arg(args, void *);
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
948 void *arg5 = va_arg(args, void *);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
949
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
950 ret_val =
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
951 ((gboolean (*)(void *, void *, void *, void *, void *, void *))cb)(
6505
f74be3b25279 [gaim-migrate @ 7021]
Ethan Blanton <elb@pidgin.im>
parents: 6488
diff changeset
952 arg1, arg2, arg3, arg4, arg5, data);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
953
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
954 if (return_val != NULL)
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
955 *return_val = GINT_TO_POINTER(ret_val);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
956 }
12291
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
957
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
958 void
18744
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
959 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT(
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
960 PurpleCallback cb, va_list args, void *data, void **return_val)
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
961 {
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
962 gboolean ret_val;
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
963 void *arg1 = va_arg(args, void *);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
964 void *arg2 = va_arg(args, void *);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
965 void *arg3 = va_arg(args, void *);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
966 void *arg4 = va_arg(args, void *);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
967 guint arg5 = va_arg(args, guint);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
968
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
969 ret_val =
18751
95803914971e Oleg Sukhodolsky noticed that the callback function was cast incorrectly in
Will Thompson <resiak@pidgin.im>
parents: 18744
diff changeset
970 ((gboolean (*)(void *, void *, void *, void *, guint, void *))cb)(
18744
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
971 arg1, arg2, arg3, arg4, arg5, data);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
972
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
973 if (return_val != NULL)
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
974 *return_val = GINT_TO_POINTER(ret_val);
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
975 }
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
976
e6b4c7abe951 Fix up writing-im-msg and writing-chat-msg to use a marshaller which treats the
Will Thompson <resiak@pidgin.im>
parents: 15884
diff changeset
977 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
978 purple_marshal_BOOLEAN__INT_POINTER(PurpleCallback cb, va_list args, void *data,
12291
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
979 void **return_val)
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
980 {
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
981 gboolean ret_val;
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
982 gint arg1 = va_arg(args, gint);
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
983 void *arg2 = va_arg(args, void *);
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
984
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
985 ret_val = ((gboolean (*)(gint, void *, void *))cb)(arg1, arg2, data);
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
986
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
987 if (return_val != NULL)
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
988 *return_val = GINT_TO_POINTER(ret_val);
2af68342099e [gaim-migrate @ 14595]
Etan Reisner <deryni@pidgin.im>
parents: 11935
diff changeset
989 }
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
990
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
991 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
992 purple_marshal_POINTER__POINTER_INT(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
993 PurpleCallback cb, va_list args, void *data,
14049
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
994 void **return_val)
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
995 {
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
996 gpointer ret_val;
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
997 void *arg1 = va_arg(args, void *);
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
998 gint arg2 = va_arg(args, gint);
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
999
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1000 ret_val = ((gpointer(*)(void *, gint, void *))cb)(arg1, arg2, data);
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1001
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1002 if (return_val != NULL)
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1003 *return_val = ret_val;
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1004 }
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1005
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1006 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1007 purple_marshal_POINTER__POINTER_INT64(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1008 PurpleCallback cb, va_list args, void *data,
14049
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1009 void **return_val)
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1010 {
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1011 gpointer ret_val;
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1012 void *arg1 = va_arg(args, void *);
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1013 gint64 arg2 = va_arg(args, gint64);
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1014
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1015 ret_val = ((gpointer(*)(void *, gint64, void *))cb)(arg1, arg2, data);
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1016
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1017 if (return_val != NULL)
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1018 *return_val = ret_val;
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1019 }
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1020
c15c41423e19 [gaim-migrate @ 16559]
Richard Laager <rlaager@pidgin.im>
parents: 14018
diff changeset
1021 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1022 purple_marshal_POINTER__POINTER_INT_BOOLEAN(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1023 PurpleCallback cb, va_list args, void *data,
15575
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1024 void **return_val)
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1025 {
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1026 gpointer ret_val;
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1027 void *arg1 = va_arg(args, void *);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1028 gint arg2 = va_arg(args, gint);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1029 gboolean arg3 = va_arg(args, gboolean);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1030
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1031 ret_val = ((gpointer(*)(void *, gint, gboolean, void *))cb)(arg1, arg2, arg3, data);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1032
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1033 if (return_val != NULL)
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1034 *return_val = ret_val;
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1035 }
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1036
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1037 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1038 purple_marshal_POINTER__POINTER_INT64_BOOLEAN(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1039 PurpleCallback cb, va_list args, void *data,
15575
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1040 void **return_val)
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1041 {
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1042 gpointer ret_val;
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1043 void *arg1 = va_arg(args, void *);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1044 gint64 arg2 = va_arg(args, gint64);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1045 gboolean arg3 = va_arg(args, gboolean);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1046
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1047 ret_val = ((gpointer(*)(void *, gint64, gboolean, void *))cb)(arg1, arg2, arg3, data);
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1048
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1049 if (return_val != NULL)
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1050 *return_val = ret_val;
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1051 }
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1052
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
1053 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15575
diff changeset
1054 purple_marshal_POINTER__POINTER_POINTER(PurpleCallback cb, va_list args, void *data,
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1055 void **return_val)
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1056 {
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1057 gpointer ret_val;
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1058 void *arg1 = va_arg(args, void *);
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1059 void *arg2 = va_arg(args, void *);
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1060
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1061 ret_val = ((gpointer (*)(void *, void *, void *))cb)(arg1, arg2, data);
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1062
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1063 if (return_val != NULL)
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1064 *return_val = ret_val;
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 12291
diff changeset
1065 }

mercurial