+static void vik_cclosure_marshal_VOID__POINTER_POINTER ( GClosure *closure,
+ GValue *return_value,
+ guint n_param_vals,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data )
+{
+ typedef gboolean (*VikMarshalFunc_VOID__POINTER_POINTER) ( gpointer data1,
+ gconstpointer arg_1,
+ gconstpointer arg_2,
+ gpointer data2 );
+
+ register VikMarshalFunc_VOID__POINTER_POINTER callback;
+ register GCClosure* cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_vals == 3);
+
+ if (G_CCLOSURE_SWAP_DATA(closure)) {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (VikMarshalFunc_VOID__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback);
+ callback ( data1,
+ g_value_get_pointer(param_values + 1),
+ g_value_get_pointer(param_values + 2),
+ data2 );
+}
+