Mercurial > pidgin.yaz
comparison console/libgnt/gntmarshal.c @ 13935:cd2da4b079cf
[gaim-migrate @ 16466]
New widget GntComboBox. I have addde a test file as an example as well.
Rename gntutils.* to gntmarshal.*
I am going to have some util-functions in gntutils.* later.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 08 Jul 2006 23:58:20 +0000 |
parents | |
children | 0387a167f342 |
comparison
equal
deleted
inserted
replaced
13934:ef0d515b9f97 | 13935:cd2da4b079cf |
---|---|
1 #include "gntmarshal.h" | |
2 | |
3 void gnt_closure_marshal_BOOLEAN__STRING(GClosure *closure, | |
4 GValue *ret_value, | |
5 guint n_param_values, | |
6 const GValue *param_values, | |
7 gpointer invocation_hint, | |
8 gpointer marshal_data) | |
9 { | |
10 typedef gboolean (*func) (gpointer data1, const char *arg1, gpointer data2); | |
11 register func callback; | |
12 register GCClosure *cc = (GCClosure*)closure; | |
13 register gpointer data1, data2; | |
14 gboolean ret; | |
15 | |
16 g_return_if_fail(ret_value != NULL); | |
17 g_return_if_fail(n_param_values == 2); | |
18 | |
19 if (G_CCLOSURE_SWAP_DATA(closure)) | |
20 { | |
21 data1 = closure->data; | |
22 data2 = g_value_peek_pointer(param_values + 0); | |
23 } | |
24 else | |
25 { | |
26 data1 = g_value_peek_pointer(param_values + 0); | |
27 data2 = closure->data; | |
28 } | |
29 | |
30 callback = (func) (marshal_data ? marshal_data : cc->callback); | |
31 ret = callback(data1, g_value_get_string(param_values + 1) , data2); | |
32 g_value_set_boolean(ret_value, ret); | |
33 } | |
34 | |
35 void gnt_closure_marshal_VOID__INT_INT_INT_INT(GClosure *closure, | |
36 GValue *ret_value, | |
37 guint n_param_values, | |
38 const GValue *param_values, | |
39 gpointer invocation_hint, | |
40 gpointer marshal_data) | |
41 { | |
42 typedef void (*func) (gpointer data1, int, int, int, int, gpointer data2); | |
43 register func callback; | |
44 register GCClosure *cc = (GCClosure*)closure; | |
45 register gpointer data1, data2; | |
46 | |
47 g_return_if_fail(n_param_values == 5); | |
48 | |
49 if (G_CCLOSURE_SWAP_DATA(closure)) | |
50 { | |
51 data1 = closure->data; | |
52 data2 = g_value_peek_pointer(param_values + 0); | |
53 } | |
54 else | |
55 { | |
56 data1 = g_value_peek_pointer(param_values + 0); | |
57 data2 = closure->data; | |
58 } | |
59 | |
60 callback = (func) (marshal_data ? marshal_data : cc->callback); | |
61 callback(data1, | |
62 g_value_get_int(param_values + 1) , | |
63 g_value_get_int(param_values + 2) , | |
64 g_value_get_int(param_values + 3) , | |
65 g_value_get_int(param_values + 4) , | |
66 data2); | |
67 } | |
68 | |
69 void gnt_closure_marshal_VOID__INT_INT(GClosure *closure, | |
70 GValue *ret_value, | |
71 guint n_param_values, | |
72 const GValue *param_values, | |
73 gpointer invocation_hint, | |
74 gpointer marshal_data) | |
75 { | |
76 typedef void (*func) (gpointer data1, int, int, gpointer data2); | |
77 register func callback; | |
78 register GCClosure *cc = (GCClosure*)closure; | |
79 register gpointer data1, data2; | |
80 | |
81 g_return_if_fail(n_param_values == 3); | |
82 | |
83 if (G_CCLOSURE_SWAP_DATA(closure)) | |
84 { | |
85 data1 = closure->data; | |
86 data2 = g_value_peek_pointer(param_values + 0); | |
87 } | |
88 else | |
89 { | |
90 data1 = g_value_peek_pointer(param_values + 0); | |
91 data2 = closure->data; | |
92 } | |
93 | |
94 callback = (func) (marshal_data ? marshal_data : cc->callback); | |
95 callback(data1, | |
96 g_value_get_int(param_values + 1) , | |
97 g_value_get_int(param_values + 2) , | |
98 data2); | |
99 } | |
100 | |
101 void gnt_closure_marshal_VOID__POINTER_POINTER(GClosure *closure, | |
102 GValue *ret_value, | |
103 guint n_param_values, | |
104 const GValue *param_values, | |
105 gpointer invocation_hint, | |
106 gpointer marshal_data) | |
107 { | |
108 typedef void (*func) (gpointer data1, gpointer, gpointer, gpointer data2); | |
109 register func callback; | |
110 register GCClosure *cc = (GCClosure*)closure; | |
111 register gpointer data1, data2; | |
112 | |
113 g_return_if_fail(n_param_values == 3); | |
114 | |
115 if (G_CCLOSURE_SWAP_DATA(closure)) | |
116 { | |
117 data1 = closure->data; | |
118 data2 = g_value_peek_pointer(param_values + 0); | |
119 } | |
120 else | |
121 { | |
122 data1 = g_value_peek_pointer(param_values + 0); | |
123 data2 = closure->data; | |
124 } | |
125 | |
126 callback = (func) (marshal_data ? marshal_data : cc->callback); | |
127 callback(data1, | |
128 g_value_get_pointer(param_values + 1) , | |
129 g_value_get_pointer(param_values + 2) , | |
130 data2); | |
131 } | |
132 | |
133 void gnt_closure_marshal_BOOLEAN__INT_INT(GClosure *closure, | |
134 GValue *ret_value, | |
135 guint n_param_values, | |
136 const GValue *param_values, | |
137 gpointer invocation_hint, | |
138 gpointer marshal_data) | |
139 { | |
140 typedef gboolean (*func) (gpointer data1, int, int, gpointer data2); | |
141 register func callback; | |
142 register GCClosure *cc = (GCClosure*)closure; | |
143 register gpointer data1, data2; | |
144 gboolean ret; | |
145 | |
146 g_return_if_fail(ret_value != NULL); | |
147 g_return_if_fail(n_param_values == 3); | |
148 | |
149 if (G_CCLOSURE_SWAP_DATA(closure)) | |
150 { | |
151 data1 = closure->data; | |
152 data2 = g_value_peek_pointer(param_values + 0); | |
153 } | |
154 else | |
155 { | |
156 data1 = g_value_peek_pointer(param_values + 0); | |
157 data2 = closure->data; | |
158 } | |
159 | |
160 callback = (func) (marshal_data ? marshal_data : cc->callback); | |
161 ret = callback(data1, | |
162 g_value_get_int(param_values + 1) , | |
163 g_value_get_int(param_values + 2) , | |
164 data2); | |
165 g_value_set_boolean(ret_value, ret); | |
166 } | |
167 | |
168 |