1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19  
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 /*
25  * Conversion parameters:
26  * inFile  = 
27  * outPack = gobject
28  * outFile = CClosure
29  * strct   = GCClosure
30  * realStrct=
31  * ctorStrct=
32  * clss    = CClosure
33  * interf  = 
34  * class Code: No
35  * interface Code: No
36  * template for:
37  * extend  = 
38  * implements:
39  * prefixes:
40  * 	- g_cclosure_
41  * omit structs:
42  * omit prefixes:
43  * omit code:
44  * omit signals:
45  * imports:
46  * 	- gobject.Closure
47  * 	- gobject.ObjectG
48  * 	- gobject.Value
49  * structWrap:
50  * 	- GClosure* -> Closure
51  * 	- GObject* -> ObjectG
52  * 	- GValue* -> Value
53  * module aliases:
54  * local aliases:
55  * overrides:
56  */
57 
58 module gobject.CClosure;
59 
60 public  import gtkc.gobjecttypes;
61 
62 private import gtkc.gobject;
63 private import glib.ConstructionException;
64 private import gobject.ObjectG;
65 
66 
67 private import gobject.Closure;
68 private import gobject.ObjectG;
69 private import gobject.Value;
70 
71 
72 
73 
74 /**
75  * A GClosure represents a callback supplied by the programmer. It
76  * will generally comprise a function of some kind and a marshaller
77  * used to call it. It is the reponsibility of the marshaller to
78  * convert the arguments for the invocation from GValues into
79  * a suitable form, perform the callback on the converted arguments,
80  * and transform the return value back into a GValue.
81  *
82  * In the case of C programs, a closure usually just holds a pointer
83  * to a function and maybe a data argument, and the marshaller
84  * converts between GValue and native C types. The GObject
85  * library provides the GCClosure type for this purpose. Bindings for
86  * other languages need marshallers which convert between GValues and suitable representations in the runtime of the language in
87  * order to use functions written in that languages as callbacks.
88  *
89  * Within GObject, closures play an important role in the
90  * implementation of signals. When a signal is registered, the
91  * c_marshaller argument to g_signal_new() specifies the default C
92  * marshaller for any closure which is connected to this
93  * signal. GObject provides a number of C marshallers for this
94  * purpose, see the g_cclosure_marshal_*() functions. Additional C
95  * marshallers can be generated with the glib-genmarshal utility. Closures
96  * can be explicitly connected to signals with
97  * g_signal_connect_closure(), but it usually more convenient to let
98  * GObject create a closure automatically by using one of the
99  * g_signal_connect_*() functions which take a callback function/user
100  * data pair.
101  *
102  * Using closures has a number of important advantages over a simple
103  * callback function/data pointer combination:
104  *
105  * Closures allow the callee to get the types of the callback parameters,
106  * which means that language bindings don't have to write individual glue
107  * for each callback type.
108  *
109  * The reference counting of GClosure makes it easy to handle reentrancy
110  * right; if a callback is removed while it is being invoked, the closure
111  * and its parameters won't be freed until the invocation finishes.
112  *
113  * g_closure_invalidate() and invalidation notifiers allow callbacks to be
114  * automatically removed when the objects they point to go away.
115  */
116 public class CClosure
117 {
118 	
119 	/** the main Gtk struct */
120 	protected GCClosure* gCClosure;
121 	
122 	
123 	public GCClosure* getCClosureStruct()
124 	{
125 		return gCClosure;
126 	}
127 	
128 	
129 	/** the main Gtk struct as a void* */
130 	protected void* getStruct()
131 	{
132 		return cast(void*)gCClosure;
133 	}
134 	
135 	/**
136 	 * Sets our main struct and passes it to the parent class
137 	 */
138 	public this (GCClosure* gCClosure)
139 	{
140 		this.gCClosure = gCClosure;
141 	}
142 	
143 	/**
144 	 */
145 	
146 	/**
147 	 * Creates a new closure which invokes callback_func with user_data as
148 	 * the last parameter.
149 	 * Params:
150 	 * callbackFunc = the function to invoke
151 	 * userData = user data to pass to callback_func
152 	 * destroyData = destroy notify to be called when user_data is no longer used
153 	 * Returns: a new GCClosure
154 	 */
155 	public static Closure newCClosure(GCallback callbackFunc, void* userData, GClosureNotify destroyData)
156 	{
157 		// GClosure * g_cclosure_new (GCallback callback_func,  gpointer user_data,  GClosureNotify destroy_data);
158 		auto p = g_cclosure_new(callbackFunc, userData, destroyData);
159 		
160 		if(p is null)
161 		{
162 			return null;
163 		}
164 		
165 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
166 	}
167 	
168 	/**
169 	 * Creates a new closure which invokes callback_func with user_data as
170 	 * the first parameter.
171 	 * Params:
172 	 * callbackFunc = the function to invoke
173 	 * userData = user data to pass to callback_func
174 	 * destroyData = destroy notify to be called when user_data is no longer used
175 	 * Returns: a new GCClosure. [transfer full]
176 	 */
177 	public static Closure newSwap(GCallback callbackFunc, void* userData, GClosureNotify destroyData)
178 	{
179 		// GClosure * g_cclosure_new_swap (GCallback callback_func,  gpointer user_data,  GClosureNotify destroy_data);
180 		auto p = g_cclosure_new_swap(callbackFunc, userData, destroyData);
181 		
182 		if(p is null)
183 		{
184 			return null;
185 		}
186 		
187 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
188 	}
189 	
190 	/**
191 	 * A variant of g_cclosure_new() which uses object as user_data and
192 	 * calls g_object_watch_closure() on object and the created
193 	 * closure. This function is useful when you have a callback closely
194 	 * associated with a GObject, and want the callback to no longer run
195 	 * after the object is is freed.
196 	 * Params:
197 	 * callbackFunc = the function to invoke
198 	 * object = a GObject pointer to pass to callback_func
199 	 * Returns: a new GCClosure
200 	 */
201 	public static Closure newObject(GCallback callbackFunc, ObjectG object)
202 	{
203 		// GClosure * g_cclosure_new_object (GCallback callback_func,  GObject *object);
204 		auto p = g_cclosure_new_object(callbackFunc, (object is null) ? null : object.getObjectGStruct());
205 		
206 		if(p is null)
207 		{
208 			return null;
209 		}
210 		
211 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
212 	}
213 	
214 	/**
215 	 * A variant of g_cclosure_new_swap() which uses object as user_data
216 	 * and calls g_object_watch_closure() on object and the created
217 	 * closure. This function is useful when you have a callback closely
218 	 * associated with a GObject, and want the callback to no longer run
219 	 * after the object is is freed.
220 	 * Params:
221 	 * callbackFunc = the function to invoke
222 	 * object = a GObject pointer to pass to callback_func
223 	 * Returns: a new GCClosure
224 	 */
225 	public static Closure newObjectSwap(GCallback callbackFunc, ObjectG object)
226 	{
227 		// GClosure * g_cclosure_new_object_swap (GCallback callback_func,  GObject *object);
228 		auto p = g_cclosure_new_object_swap(callbackFunc, (object is null) ? null : object.getObjectGStruct());
229 		
230 		if(p is null)
231 		{
232 			return null;
233 		}
234 		
235 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
236 	}
237 	
238 	/**
239 	 * A generic marshaller function implemented via libffi.
240 	 * Since 2.30
241 	 * Params:
242 	 * closure = A GClosure.
243 	 * returnGvalue = A GValue to store the return value. May be NULL
244 	 * if the callback of closure doesn't return a value.
245 	 * paramValues = An array of GValues holding the arguments
246 	 * on which to invoke the callback of closure.
247 	 * invocationHint = The invocation hint given as the last argument to
248 	 * g_closure_invoke().
249 	 * marshalData = Additional data specified when registering the
250 	 * marshaller, see g_closure_set_marshal() and
251 	 * g_closure_set_meta_marshal()
252 	 */
253 	public static void marshalGeneric(Closure closure, Value returnGvalue, GValue[] paramValues, void* invocationHint, void* marshalData)
254 	{
255 		// void g_cclosure_marshal_generic (GClosure *closure,  GValue *return_gvalue,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
256 		g_cclosure_marshal_generic((closure is null) ? null : closure.getClosureStruct(), (returnGvalue is null) ? null : returnGvalue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
257 	}
258 	
259 	/**
260 	 * A marshaller for a GCClosure with a callback of type
261 	 * void (*callback) (gpointer instance, gpointer user_data).
262 	 * Params:
263 	 * closure = the GClosure to which the marshaller belongs
264 	 * returnValue = ignored
265 	 * paramValues = a GValue array holding only the instance
266 	 * invocationHint = the invocation hint given as the last argument
267 	 * to g_closure_invoke()
268 	 * marshalData = additional data specified when registering the marshaller
269 	 */
270 	public static void marshalVOID__VOID(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
271 	{
272 		// void g_cclosure_marshal_VOID__VOID (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
273 		g_cclosure_marshal_VOID__VOID((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
274 	}
275 	
276 	/**
277 	 * A marshaller for a GCClosure with a callback of type
278 	 * void (*callback) (gpointer instance, gboolean arg1, gpointer user_data).
279 	 * Params:
280 	 * closure = the GClosure to which the marshaller belongs
281 	 * returnValue = ignored
282 	 * paramValues = a GValue array holding the instance and the gboolean parameter
283 	 * invocationHint = the invocation hint given as the last argument
284 	 * to g_closure_invoke()
285 	 * marshalData = additional data specified when registering the marshaller
286 	 */
287 	public static void marshalVOID__BOOLEAN(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
288 	{
289 		// void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
290 		g_cclosure_marshal_VOID__BOOLEAN((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
291 	}
292 	
293 	/**
294 	 * A marshaller for a GCClosure with a callback of type
295 	 * void (*callback) (gpointer instance, gchar arg1, gpointer user_data).
296 	 * Params:
297 	 * closure = the GClosure to which the marshaller belongs
298 	 * returnValue = ignored
299 	 * paramValues = a GValue array holding the instance and the gchar parameter
300 	 * invocationHint = the invocation hint given as the last argument
301 	 * to g_closure_invoke()
302 	 * marshalData = additional data specified when registering the marshaller
303 	 */
304 	public static void marshalVOID__CHAR(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
305 	{
306 		// void g_cclosure_marshal_VOID__CHAR (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
307 		g_cclosure_marshal_VOID__CHAR((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
308 	}
309 	
310 	/**
311 	 * A marshaller for a GCClosure with a callback of type
312 	 * void (*callback) (gpointer instance, guchar arg1, gpointer user_data).
313 	 * Params:
314 	 * closure = the GClosure to which the marshaller belongs
315 	 * returnValue = ignored
316 	 * paramValues = a GValue array holding the instance and the guchar parameter
317 	 * invocationHint = the invocation hint given as the last argument
318 	 * to g_closure_invoke()
319 	 * marshalData = additional data specified when registering the marshaller
320 	 */
321 	public static void marshalVOID__UCHAR(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
322 	{
323 		// void g_cclosure_marshal_VOID__UCHAR (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
324 		g_cclosure_marshal_VOID__UCHAR((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
325 	}
326 	
327 	/**
328 	 * A marshaller for a GCClosure with a callback of type
329 	 * void (*callback) (gpointer instance, gint arg1, gpointer user_data).
330 	 * Params:
331 	 * closure = the GClosure to which the marshaller belongs
332 	 * returnValue = ignored
333 	 * paramValues = a GValue array holding the instance and the gint parameter
334 	 * invocationHint = the invocation hint given as the last argument
335 	 * to g_closure_invoke()
336 	 * marshalData = additional data specified when registering the marshaller
337 	 */
338 	public static void marshalVOID__INT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
339 	{
340 		// void g_cclosure_marshal_VOID__INT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
341 		g_cclosure_marshal_VOID__INT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
342 	}
343 	
344 	/**
345 	 * A marshaller for a GCClosure with a callback of type
346 	 * void (*callback) (gpointer instance, guint arg1, gpointer user_data).
347 	 * Params:
348 	 * closure = the GClosure to which the marshaller belongs
349 	 * returnValue = ignored
350 	 * paramValues = a GValue array holding the instance and the guint parameter
351 	 * invocationHint = the invocation hint given as the last argument
352 	 * to g_closure_invoke()
353 	 * marshalData = additional data specified when registering the marshaller
354 	 */
355 	public static void marshalVOID__UINT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
356 	{
357 		// void g_cclosure_marshal_VOID__UINT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
358 		g_cclosure_marshal_VOID__UINT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
359 	}
360 	
361 	/**
362 	 * A marshaller for a GCClosure with a callback of type
363 	 * void (*callback) (gpointer instance, glong arg1, gpointer user_data).
364 	 * Params:
365 	 * closure = the GClosure to which the marshaller belongs
366 	 * returnValue = ignored
367 	 * paramValues = a GValue array holding the instance and the glong parameter
368 	 * invocationHint = the invocation hint given as the last argument
369 	 * to g_closure_invoke()
370 	 * marshalData = additional data specified when registering the marshaller
371 	 */
372 	public static void marshalVOID__LONG(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
373 	{
374 		// void g_cclosure_marshal_VOID__LONG (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
375 		g_cclosure_marshal_VOID__LONG((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
376 	}
377 	
378 	/**
379 	 * A marshaller for a GCClosure with a callback of type
380 	 * void (*callback) (gpointer instance, gulong arg1, gpointer user_data).
381 	 * Params:
382 	 * closure = the GClosure to which the marshaller belongs
383 	 * returnValue = ignored
384 	 * paramValues = a GValue array holding the instance and the gulong parameter
385 	 * invocationHint = the invocation hint given as the last argument
386 	 * to g_closure_invoke()
387 	 * marshalData = additional data specified when registering the marshaller
388 	 */
389 	public static void marshalVOID__ULONG(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
390 	{
391 		// void g_cclosure_marshal_VOID__ULONG (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
392 		g_cclosure_marshal_VOID__ULONG((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
393 	}
394 	
395 	/**
396 	 * A marshaller for a GCClosure with a callback of type
397 	 * void (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter denotes an enumeration type..
398 	 * Params:
399 	 * closure = the GClosure to which the marshaller belongs
400 	 * returnValue = ignored
401 	 * paramValues = a GValue array holding the instance and the enumeration parameter
402 	 * invocationHint = the invocation hint given as the last argument
403 	 * to g_closure_invoke()
404 	 * marshalData = additional data specified when registering the marshaller
405 	 */
406 	public static void marshalVOID__ENUM(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
407 	{
408 		// void g_cclosure_marshal_VOID__ENUM (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
409 		g_cclosure_marshal_VOID__ENUM((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
410 	}
411 	
412 	/**
413 	 * A marshaller for a GCClosure with a callback of type
414 	 * void (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter denotes a flags type.
415 	 * Params:
416 	 * closure = the GClosure to which the marshaller belongs
417 	 * returnValue = ignored
418 	 * paramValues = a GValue array holding the instance and the flags parameter
419 	 * invocationHint = the invocation hint given as the last argument
420 	 * to g_closure_invoke()
421 	 * marshalData = additional data specified when registering the marshaller
422 	 */
423 	public static void marshalVOID__FLAGS(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
424 	{
425 		// void g_cclosure_marshal_VOID__FLAGS (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
426 		g_cclosure_marshal_VOID__FLAGS((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
427 	}
428 	
429 	/**
430 	 * A marshaller for a GCClosure with a callback of type
431 	 * void (*callback) (gpointer instance, gfloat arg1, gpointer user_data).
432 	 * Params:
433 	 * closure = the GClosure to which the marshaller belongs
434 	 * returnValue = ignored
435 	 * paramValues = a GValue array holding the instance and the gfloat parameter
436 	 * invocationHint = the invocation hint given as the last argument
437 	 * to g_closure_invoke()
438 	 * marshalData = additional data specified when registering the marshaller
439 	 */
440 	public static void marshalVOID__FLOAT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
441 	{
442 		// void g_cclosure_marshal_VOID__FLOAT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
443 		g_cclosure_marshal_VOID__FLOAT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
444 	}
445 	
446 	/**
447 	 * A marshaller for a GCClosure with a callback of type
448 	 * void (*callback) (gpointer instance, gdouble arg1, gpointer user_data).
449 	 * Params:
450 	 * closure = the GClosure to which the marshaller belongs
451 	 * returnValue = ignored
452 	 * paramValues = a GValue array holding the instance and the gdouble parameter
453 	 * invocationHint = the invocation hint given as the last argument
454 	 * to g_closure_invoke()
455 	 * marshalData = additional data specified when registering the marshaller
456 	 */
457 	public static void marshalVOID__DOUBLE(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
458 	{
459 		// void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
460 		g_cclosure_marshal_VOID__DOUBLE((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
461 	}
462 	
463 	/**
464 	 * A marshaller for a GCClosure with a callback of type
465 	 * void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data).
466 	 * Params:
467 	 * closure = the GClosure to which the marshaller belongs
468 	 * returnValue = ignored
469 	 * paramValues = a GValue array holding the instance and the gchar* parameter
470 	 * invocationHint = the invocation hint given as the last argument
471 	 * to g_closure_invoke()
472 	 * marshalData = additional data specified when registering the marshaller
473 	 */
474 	public static void marshalVOID__STRING(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
475 	{
476 		// void g_cclosure_marshal_VOID__STRING (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
477 		g_cclosure_marshal_VOID__STRING((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
478 	}
479 	
480 	/**
481 	 * A marshaller for a GCClosure with a callback of type
482 	 * void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data).
483 	 * Params:
484 	 * closure = the GClosure to which the marshaller belongs
485 	 * returnValue = ignored
486 	 * paramValues = a GValue array holding the instance and the GParamSpec* parameter
487 	 * invocationHint = the invocation hint given as the last argument
488 	 * to g_closure_invoke()
489 	 * marshalData = additional data specified when registering the marshaller
490 	 */
491 	public static void marshalVOID__PARAM(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
492 	{
493 		// void g_cclosure_marshal_VOID__PARAM (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
494 		g_cclosure_marshal_VOID__PARAM((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
495 	}
496 	
497 	/**
498 	 * A marshaller for a GCClosure with a callback of type
499 	 * void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data).
500 	 * Params:
501 	 * closure = the GClosure to which the marshaller belongs
502 	 * returnValue = ignored
503 	 * paramValues = a GValue array holding the instance and the GBoxed* parameter
504 	 * invocationHint = the invocation hint given as the last argument
505 	 * to g_closure_invoke()
506 	 * marshalData = additional data specified when registering the marshaller
507 	 */
508 	public static void marshalVOID__BOXED(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
509 	{
510 		// void g_cclosure_marshal_VOID__BOXED (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
511 		g_cclosure_marshal_VOID__BOXED((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
512 	}
513 	
514 	/**
515 	 * A marshaller for a GCClosure with a callback of type
516 	 * void (*callback) (gpointer instance, gpointer arg1, gpointer user_data).
517 	 * Params:
518 	 * closure = the GClosure to which the marshaller belongs
519 	 * returnValue = ignored
520 	 * paramValues = a GValue array holding the instance and the gpointer parameter
521 	 * invocationHint = the invocation hint given as the last argument
522 	 * to g_closure_invoke()
523 	 * marshalData = additional data specified when registering the marshaller
524 	 */
525 	public static void marshalVOID__POINTER(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
526 	{
527 		// void g_cclosure_marshal_VOID__POINTER (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
528 		g_cclosure_marshal_VOID__POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
529 	}
530 	
531 	/**
532 	 * A marshaller for a GCClosure with a callback of type
533 	 * void (*callback) (gpointer instance, GObject *arg1, gpointer user_data).
534 	 * Params:
535 	 * closure = the GClosure to which the marshaller belongs
536 	 * returnValue = ignored
537 	 * paramValues = a GValue array holding the instance and the GObject* parameter
538 	 * invocationHint = the invocation hint given as the last argument
539 	 * to g_closure_invoke()
540 	 * marshalData = additional data specified when registering the marshaller
541 	 */
542 	public static void marshalVOID__OBJECT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
543 	{
544 		// void g_cclosure_marshal_VOID__OBJECT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
545 		g_cclosure_marshal_VOID__OBJECT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
546 	}
547 	
548 	/**
549 	 * A marshaller for a GCClosure with a callback of type
550 	 * void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data).
551 	 * Since 2.26
552 	 * Params:
553 	 * closure = the GClosure to which the marshaller belongs
554 	 * returnValue = ignored
555 	 * paramValues = a GValue array holding the instance and the GVariant* parameter
556 	 * invocationHint = the invocation hint given as the last argument
557 	 * to g_closure_invoke()
558 	 * marshalData = additional data specified when registering the marshaller
559 	 */
560 	public static void marshalVOID__VARIANT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
561 	{
562 		// void g_cclosure_marshal_VOID__VARIANT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
563 		g_cclosure_marshal_VOID__VARIANT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
564 	}
565 	
566 	/**
567 	 * A marshaller for a GCClosure with a callback of type
568 	 * gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data).
569 	 * Params:
570 	 * closure = the GClosure to which the marshaller belongs
571 	 * returnValue = a GValue, which can store the returned string
572 	 * paramValues = a GValue array holding instance, arg1 and arg2
573 	 * invocationHint = the invocation hint given as the last argument
574 	 * to g_closure_invoke()
575 	 * marshalData = additional data specified when registering the marshaller
576 	 */
577 	public static void marshalSTRING__OBJECT_POINTER(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
578 	{
579 		// void g_cclosure_marshal_STRING__OBJECT_POINTER  (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
580 		g_cclosure_marshal_STRING__OBJECT_POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
581 	}
582 	
583 	/**
584 	 * A marshaller for a GCClosure with a callback of type
585 	 * void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data).
586 	 * Params:
587 	 * closure = the GClosure to which the marshaller belongs
588 	 * returnValue = ignored
589 	 * paramValues = a GValue array holding instance, arg1 and arg2
590 	 * invocationHint = the invocation hint given as the last argument
591 	 * to g_closure_invoke()
592 	 * marshalData = additional data specified when registering the marshaller
593 	 */
594 	public static void marshalVOID__UINT_POINTER(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
595 	{
596 		// void g_cclosure_marshal_VOID__UINT_POINTER  (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
597 		g_cclosure_marshal_VOID__UINT_POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
598 	}
599 	
600 	/**
601 	 * A marshaller for a GCClosure with a callback of type
602 	 * gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter
603 	 * denotes a flags type.
604 	 * Params:
605 	 * closure = the GClosure to which the marshaller belongs
606 	 * returnValue = a GValue which can store the returned gboolean
607 	 * paramValues = a GValue array holding instance and arg1
608 	 * invocationHint = the invocation hint given as the last argument
609 	 * to g_closure_invoke()
610 	 * marshalData = additional data specified when registering the marshaller
611 	 */
612 	public static void marshalBOOLEAN__FLAGS(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
613 	{
614 		// void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
615 		g_cclosure_marshal_BOOLEAN__FLAGS((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
616 	}
617 	
618 	/**
619 	 */
620 	public static void marshalBOOLEAN__BOXED_BOXED(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData)
621 	{
622 		// void g_cclosure_marshal_BOOLEAN__BOXED_BOXED  (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
623 		g_cclosure_marshal_BOOLEAN__BOXED_BOXED((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData);
624 	}
625 	
626 	/**
627 	 */
628 	public static void marshalGenericVa(Closure closure, Value returnValue, void* instanc, void* argsList, void* marshalData, GType[] paramTypes)
629 	{
630 		// void g_cclosure_marshal_generic_va (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args_list,  gpointer marshal_data,  int n_params,  GType *param_types);
631 		g_cclosure_marshal_generic_va((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, argsList, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
632 	}
633 	
634 	/**
635 	 */
636 	public static void marshalVOID__VOIDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
637 	{
638 		// void g_cclosure_marshal_VOID__VOIDv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
639 		g_cclosure_marshal_VOID__VOIDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
640 	}
641 	
642 	/**
643 	 */
644 	public static void marshalVOID__BOOLEANv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
645 	{
646 		// void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
647 		g_cclosure_marshal_VOID__BOOLEANv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
648 	}
649 	
650 	/**
651 	 */
652 	public static void marshalVOID__CHARv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
653 	{
654 		// void g_cclosure_marshal_VOID__CHARv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
655 		g_cclosure_marshal_VOID__CHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
656 	}
657 	
658 	/**
659 	 */
660 	public static void marshalVOID__UCHARv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
661 	{
662 		// void g_cclosure_marshal_VOID__UCHARv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
663 		g_cclosure_marshal_VOID__UCHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
664 	}
665 	
666 	/**
667 	 */
668 	public static void marshalVOID__INTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
669 	{
670 		// void g_cclosure_marshal_VOID__INTv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
671 		g_cclosure_marshal_VOID__INTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
672 	}
673 	
674 	/**
675 	 */
676 	public static void marshalVOID__UINTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
677 	{
678 		// void g_cclosure_marshal_VOID__UINTv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
679 		g_cclosure_marshal_VOID__UINTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
680 	}
681 	
682 	/**
683 	 */
684 	public static void marshalVOID__LONGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
685 	{
686 		// void g_cclosure_marshal_VOID__LONGv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
687 		g_cclosure_marshal_VOID__LONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
688 	}
689 	
690 	/**
691 	 */
692 	public static void marshalVOID__ULONGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
693 	{
694 		// void g_cclosure_marshal_VOID__ULONGv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
695 		g_cclosure_marshal_VOID__ULONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
696 	}
697 	
698 	/**
699 	 */
700 	public static void marshalVOID__ENUMv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
701 	{
702 		// void g_cclosure_marshal_VOID__ENUMv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
703 		g_cclosure_marshal_VOID__ENUMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
704 	}
705 	
706 	/**
707 	 */
708 	public static void marshalVOID__FLAGSv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
709 	{
710 		// void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
711 		g_cclosure_marshal_VOID__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
712 	}
713 	
714 	/**
715 	 */
716 	public static void marshalVOID__FLOATv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
717 	{
718 		// void g_cclosure_marshal_VOID__FLOATv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
719 		g_cclosure_marshal_VOID__FLOATv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
720 	}
721 	
722 	/**
723 	 */
724 	public static void marshalVOID__DOUBLEv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
725 	{
726 		// void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
727 		g_cclosure_marshal_VOID__DOUBLEv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
728 	}
729 	
730 	/**
731 	 */
732 	public static void marshalVOID__STRINGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
733 	{
734 		// void g_cclosure_marshal_VOID__STRINGv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
735 		g_cclosure_marshal_VOID__STRINGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
736 	}
737 	
738 	/**
739 	 */
740 	public static void marshalVOID__PARAMv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
741 	{
742 		// void g_cclosure_marshal_VOID__PARAMv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
743 		g_cclosure_marshal_VOID__PARAMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
744 	}
745 	
746 	/**
747 	 */
748 	public static void marshalVOID__BOXEDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
749 	{
750 		// void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
751 		g_cclosure_marshal_VOID__BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
752 	}
753 	
754 	/**
755 	 */
756 	public static void marshalVOID__POINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
757 	{
758 		// void g_cclosure_marshal_VOID__POINTERv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
759 		g_cclosure_marshal_VOID__POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
760 	}
761 	
762 	/**
763 	 */
764 	public static void marshalVOID__OBJECTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
765 	{
766 		// void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
767 		g_cclosure_marshal_VOID__OBJECTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
768 	}
769 	
770 	/**
771 	 */
772 	public static void marshalVOID__VARIANTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
773 	{
774 		// void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
775 		g_cclosure_marshal_VOID__VARIANTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
776 	}
777 	
778 	/**
779 	 */
780 	public static void marshalSTRING__OBJECT_POINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
781 	{
782 		// void g_cclosure_marshal_STRING__OBJECT_POINTERv  (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
783 		g_cclosure_marshal_STRING__OBJECT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
784 	}
785 	
786 	/**
787 	 */
788 	public static void marshalVOID__UINT_POINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
789 	{
790 		// void g_cclosure_marshal_VOID__UINT_POINTERv  (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
791 		g_cclosure_marshal_VOID__UINT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
792 	}
793 	
794 	/**
795 	 */
796 	public static void marshalBOOLEAN__FLAGSv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
797 	{
798 		// void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
799 		g_cclosure_marshal_BOOLEAN__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
800 	}
801 	
802 	/**
803 	 */
804 	public static void marshalBOOLEAN__BOXED_BOXEDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes)
805 	{
806 		// void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv  (GClosure *closure,  GValue *return_value,  gpointer instance,  va_list args,  gpointer marshal_data,  int n_params,  GType *param_types);
807 		g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr);
808 	}
809 }