2009-27-09 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / tests / dummyatk / user_marshal.c
1 #include        <glib-object.h>
2
3 /* INT:BOXED (marshal.list:1) */
4 void
5 g_cclosure_user_marshal_INT__BOXED (GClosure     *closure,
6                                     GValue       *return_value,
7                                     guint         n_param_values,
8                                     const GValue *param_values,
9                                     gpointer      invocation_hint,
10                                     gpointer      marshal_data)
11 {
12   typedef gint (*GMarshalFunc_INT__BOXED) (gpointer     data1,
13                                            gpointer     arg_1,
14                                            gpointer     data2);
15   register GMarshalFunc_INT__BOXED callback;
16   register GCClosure *cc = (GCClosure*) closure;
17   register gpointer data1, data2;
18   gint v_return;
19
20   g_return_if_fail (return_value != NULL);
21   g_return_if_fail (n_param_values == 2);
22
23   if (G_CCLOSURE_SWAP_DATA (closure))
24     {
25       data1 = closure->data;
26       data2 = g_value_peek_pointer (param_values + 0);
27     }
28   else
29     {
30       data1 = g_value_peek_pointer (param_values + 0);
31       data2 = closure->data;
32     }
33   callback = (GMarshalFunc_INT__BOXED) (marshal_data ? marshal_data : cc->callback);
34
35   v_return = callback (data1,
36                        g_marshal_value_peek_boxed (param_values + 1),
37                        data2);
38
39   g_value_set_int (return_value, v_return);
40 }
41