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 module gobject.CClosure;
26 
27 private import glib.ConstructionException;
28 private import gobject.Closure;
29 private import gobject.ObjectG;
30 private import gobject.TypeInstance;
31 private import gobject.Value;
32 private import gobject.c.functions;
33 public  import gobject.c.types;
34 public  import gtkc.gobjecttypes;
35 
36 
37 /**
38  * A #GCClosure is a specialization of #GClosure for C function callbacks.
39  */
40 public class CClosure
41 {
42 	/** the main Gtk struct */
43 	protected GCClosure* gCClosure;
44 	protected bool ownedRef;
45 
46 	/** Get the main Gtk struct */
47 	public GCClosure* getCClosureStruct(bool transferOwnership = false)
48 	{
49 		if (transferOwnership)
50 			ownedRef = false;
51 		return gCClosure;
52 	}
53 
54 	/** the main Gtk struct as a void* */
55 	protected void* getStruct()
56 	{
57 		return cast(void*)gCClosure;
58 	}
59 
60 	/**
61 	 * Sets our main struct and passes it to the parent class.
62 	 */
63 	public this (GCClosure* gCClosure, bool ownedRef = false)
64 	{
65 		this.gCClosure = gCClosure;
66 		this.ownedRef = ownedRef;
67 	}
68 
69 	/**
70 	 * Creates a new closure which invokes callbackFunc with userData as
71 	 * the last parameter.
72 	 *
73 	 * Params:
74 	 *     callbackFunc = the function to invoke
75 	 *     userData = user data to pass to callbackFunc
76 	 *     destroyData = destroy notify to be called when userData is no longer used
77 	 *     swap = if true invoce with usrData as the first parameter
78 	 *
79 	 * Throws: ConstructionException GTK+ fails to create the object.
80 	 */
81 	public this(GCallback callbackFunc, void* userData, GClosureNotify destroyData, bool swap)
82 	{
83 		GClosure* p;
84 
85 		if ( swap )
86 			p = g_cclosure_new_swap(callbackFunc, userData, destroyData);
87 		else
88 			p = g_cclosure_new(callbackFunc, userData, destroyData);
89 
90 		if(p is null)
91 		{
92 			throw new ConstructionException("null returned by new");
93 		}
94 
95 		this(cast(GCClosure*) p);
96 	}
97 
98 	/**
99 	 * A variant of this() which uses object as userData and
100 	 * calls ObjectG.watchClosure() on object and the created
101 	 * closure. This function is useful when you have a callback closely
102 	 * associated with a gobject.ObjectG, and want the callback to no longer run
103 	 * after the object is is freed.
104 	 *
105 	 * Params:
106 	 *     callbackFunc = the function to invoke
107 	 *     object = a gobject.ObjectG.ObjectG to pass to callbackFunc
108 	 *     swap = if true invoce with usrData as the first parameter
109 	 *
110 	 * Throws: ConstructionException GTK+ fails to create the object.
111 	 */
112 	public this(GCallback callbackFunc, ObjectG object, bool swap)
113 	{
114 		GClosure* p;
115 
116 		if ( swap )
117 			p = g_cclosure_new_object_swap(callbackFunc, (object is null) ? null : object.getObjectGStruct());
118 		else
119 			p = g_cclosure_new_object(callbackFunc, (object is null) ? null : object.getObjectGStruct());
120 
121 		if(p is null)
122 		{
123 			throw new ConstructionException("null returned by new_object");
124 		}
125 
126 		this(cast(GCClosure*) p);
127 	}
128 
129 	/**
130 	 */
131 
132 	/**
133 	 * A #GClosureMarshal function for use with signals with handlers that
134 	 * take two boxed pointers as arguments and return a boolean.  If you
135 	 * have such a signal, you will probably also need to use an
136 	 * accumulator, such as g_signal_accumulator_true_handled().
137 	 *
138 	 * Params:
139 	 *     closure = A #GClosure.
140 	 *     returnValue = A #GValue to store the return value. May be %NULL
141 	 *         if the callback of closure doesn't return a value.
142 	 *     nParamValues = The length of the @param_values array.
143 	 *     paramValues = An array of #GValues holding the arguments
144 	 *         on which to invoke the callback of closure.
145 	 *     invocationHint = The invocation hint given as the last argument to
146 	 *         g_closure_invoke().
147 	 *     marshalData = Additional data specified when registering the
148 	 *         marshaller, see g_closure_set_marshal() and
149 	 *         g_closure_set_meta_marshal()
150 	 */
151 	public static void marshalBOOLEANBOXEDBOXED(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
152 	{
153 		g_cclosure_marshal_BOOLEAN__BOXED_BOXED((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
154 	}
155 
156 	/**
157 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__BOXED_BOXED().
158 	 *
159 	 * Params:
160 	 *     closure = the #GClosure to which the marshaller belongs
161 	 *     returnValue = a #GValue to store the return
162 	 *         value. May be %NULL if the callback of @closure doesn't return a
163 	 *         value.
164 	 *     instance_ = the instance on which the closure is invoked.
165 	 *     args = va_list of arguments to be passed to the closure.
166 	 *     marshalData = additional data specified when
167 	 *         registering the marshaller, see g_closure_set_marshal() and
168 	 *         g_closure_set_meta_marshal()
169 	 *     paramTypes = the #GType of each argument from
170 	 *         @args.
171 	 */
172 	public static void marshalBOOLEANBOXEDBOXEDv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
173 	{
174 		g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
175 	}
176 
177 	/**
178 	 * A marshaller for a #GCClosure with a callback of type
179 	 * `gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
180 	 * denotes a flags type.
181 	 *
182 	 * Params:
183 	 *     closure = the #GClosure to which the marshaller belongs
184 	 *     returnValue = a #GValue which can store the returned #gboolean
185 	 *     nParamValues = 2
186 	 *     paramValues = a #GValue array holding instance and arg1
187 	 *     invocationHint = the invocation hint given as the last argument
188 	 *         to g_closure_invoke()
189 	 *     marshalData = additional data specified when registering the marshaller
190 	 */
191 	public static void marshalBOOLEANFLAGS(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
192 	{
193 		g_cclosure_marshal_BOOLEAN__FLAGS((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
194 	}
195 
196 	/**
197 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__FLAGS().
198 	 *
199 	 * Params:
200 	 *     closure = the #GClosure to which the marshaller belongs
201 	 *     returnValue = a #GValue to store the return
202 	 *         value. May be %NULL if the callback of @closure doesn't return a
203 	 *         value.
204 	 *     instance_ = the instance on which the closure is invoked.
205 	 *     args = va_list of arguments to be passed to the closure.
206 	 *     marshalData = additional data specified when
207 	 *         registering the marshaller, see g_closure_set_marshal() and
208 	 *         g_closure_set_meta_marshal()
209 	 *     paramTypes = the #GType of each argument from
210 	 *         @args.
211 	 */
212 	public static void marshalBOOLEANFLAGSv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
213 	{
214 		g_cclosure_marshal_BOOLEAN__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
215 	}
216 
217 	/**
218 	 * A marshaller for a #GCClosure with a callback of type
219 	 * `gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
220 	 *
221 	 * Params:
222 	 *     closure = the #GClosure to which the marshaller belongs
223 	 *     returnValue = a #GValue, which can store the returned string
224 	 *     nParamValues = 3
225 	 *     paramValues = a #GValue array holding instance, arg1 and arg2
226 	 *     invocationHint = the invocation hint given as the last argument
227 	 *         to g_closure_invoke()
228 	 *     marshalData = additional data specified when registering the marshaller
229 	 */
230 	public static void marshalSTRINGOBJECTPOINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
231 	{
232 		g_cclosure_marshal_STRING__OBJECT_POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
233 	}
234 
235 	/**
236 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().
237 	 *
238 	 * Params:
239 	 *     closure = the #GClosure to which the marshaller belongs
240 	 *     returnValue = a #GValue to store the return
241 	 *         value. May be %NULL if the callback of @closure doesn't return a
242 	 *         value.
243 	 *     instance_ = the instance on which the closure is invoked.
244 	 *     args = va_list of arguments to be passed to the closure.
245 	 *     marshalData = additional data specified when
246 	 *         registering the marshaller, see g_closure_set_marshal() and
247 	 *         g_closure_set_meta_marshal()
248 	 *     paramTypes = the #GType of each argument from
249 	 *         @args.
250 	 */
251 	public static void marshalSTRINGOBJECTPOINTERv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
252 	{
253 		g_cclosure_marshal_STRING__OBJECT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
254 	}
255 
256 	/**
257 	 * A marshaller for a #GCClosure with a callback of type
258 	 * `void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
259 	 *
260 	 * Params:
261 	 *     closure = the #GClosure to which the marshaller belongs
262 	 *     returnValue = ignored
263 	 *     nParamValues = 2
264 	 *     paramValues = a #GValue array holding the instance and the #gboolean parameter
265 	 *     invocationHint = the invocation hint given as the last argument
266 	 *         to g_closure_invoke()
267 	 *     marshalData = additional data specified when registering the marshaller
268 	 */
269 	public static void marshalVOIDBOOLEAN(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
270 	{
271 		g_cclosure_marshal_VOID__BOOLEAN((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
272 	}
273 
274 	/**
275 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().
276 	 *
277 	 * Params:
278 	 *     closure = the #GClosure to which the marshaller belongs
279 	 *     returnValue = a #GValue to store the return
280 	 *         value. May be %NULL if the callback of @closure doesn't return a
281 	 *         value.
282 	 *     instance_ = the instance on which the closure is invoked.
283 	 *     args = va_list of arguments to be passed to the closure.
284 	 *     marshalData = additional data specified when
285 	 *         registering the marshaller, see g_closure_set_marshal() and
286 	 *         g_closure_set_meta_marshal()
287 	 *     paramTypes = the #GType of each argument from
288 	 *         @args.
289 	 */
290 	public static void marshalVOIDBOOLEANv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
291 	{
292 		g_cclosure_marshal_VOID__BOOLEANv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
293 	}
294 
295 	/**
296 	 * A marshaller for a #GCClosure with a callback of type
297 	 * `void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
298 	 *
299 	 * Params:
300 	 *     closure = the #GClosure to which the marshaller belongs
301 	 *     returnValue = ignored
302 	 *     nParamValues = 2
303 	 *     paramValues = a #GValue array holding the instance and the #GBoxed* parameter
304 	 *     invocationHint = the invocation hint given as the last argument
305 	 *         to g_closure_invoke()
306 	 *     marshalData = additional data specified when registering the marshaller
307 	 */
308 	public static void marshalVOIDBOXED(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
309 	{
310 		g_cclosure_marshal_VOID__BOXED((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
311 	}
312 
313 	/**
314 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().
315 	 *
316 	 * Params:
317 	 *     closure = the #GClosure to which the marshaller belongs
318 	 *     returnValue = a #GValue to store the return
319 	 *         value. May be %NULL if the callback of @closure doesn't return a
320 	 *         value.
321 	 *     instance_ = the instance on which the closure is invoked.
322 	 *     args = va_list of arguments to be passed to the closure.
323 	 *     marshalData = additional data specified when
324 	 *         registering the marshaller, see g_closure_set_marshal() and
325 	 *         g_closure_set_meta_marshal()
326 	 *     paramTypes = the #GType of each argument from
327 	 *         @args.
328 	 */
329 	public static void marshalVOIDBOXEDv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
330 	{
331 		g_cclosure_marshal_VOID__BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
332 	}
333 
334 	/**
335 	 * A marshaller for a #GCClosure with a callback of type
336 	 * `void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
337 	 *
338 	 * Params:
339 	 *     closure = the #GClosure to which the marshaller belongs
340 	 *     returnValue = ignored
341 	 *     nParamValues = 2
342 	 *     paramValues = a #GValue array holding the instance and the #gchar parameter
343 	 *     invocationHint = the invocation hint given as the last argument
344 	 *         to g_closure_invoke()
345 	 *     marshalData = additional data specified when registering the marshaller
346 	 */
347 	public static void marshalVOIDCHAR(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
348 	{
349 		g_cclosure_marshal_VOID__CHAR((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
350 	}
351 
352 	/**
353 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().
354 	 *
355 	 * Params:
356 	 *     closure = the #GClosure to which the marshaller belongs
357 	 *     returnValue = a #GValue to store the return
358 	 *         value. May be %NULL if the callback of @closure doesn't return a
359 	 *         value.
360 	 *     instance_ = the instance on which the closure is invoked.
361 	 *     args = va_list of arguments to be passed to the closure.
362 	 *     marshalData = additional data specified when
363 	 *         registering the marshaller, see g_closure_set_marshal() and
364 	 *         g_closure_set_meta_marshal()
365 	 *     paramTypes = the #GType of each argument from
366 	 *         @args.
367 	 */
368 	public static void marshalVOIDCHARv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
369 	{
370 		g_cclosure_marshal_VOID__CHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
371 	}
372 
373 	/**
374 	 * A marshaller for a #GCClosure with a callback of type
375 	 * `void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
376 	 *
377 	 * Params:
378 	 *     closure = the #GClosure to which the marshaller belongs
379 	 *     returnValue = ignored
380 	 *     nParamValues = 2
381 	 *     paramValues = a #GValue array holding the instance and the #gdouble parameter
382 	 *     invocationHint = the invocation hint given as the last argument
383 	 *         to g_closure_invoke()
384 	 *     marshalData = additional data specified when registering the marshaller
385 	 */
386 	public static void marshalVOIDDOUBLE(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
387 	{
388 		g_cclosure_marshal_VOID__DOUBLE((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
389 	}
390 
391 	/**
392 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().
393 	 *
394 	 * Params:
395 	 *     closure = the #GClosure to which the marshaller belongs
396 	 *     returnValue = a #GValue to store the return
397 	 *         value. May be %NULL if the callback of @closure doesn't return a
398 	 *         value.
399 	 *     instance_ = the instance on which the closure is invoked.
400 	 *     args = va_list of arguments to be passed to the closure.
401 	 *     marshalData = additional data specified when
402 	 *         registering the marshaller, see g_closure_set_marshal() and
403 	 *         g_closure_set_meta_marshal()
404 	 *     paramTypes = the #GType of each argument from
405 	 *         @args.
406 	 */
407 	public static void marshalVOIDDOUBLEv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
408 	{
409 		g_cclosure_marshal_VOID__DOUBLEv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
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 an enumeration type..
415 	 *
416 	 * Params:
417 	 *     closure = the #GClosure to which the marshaller belongs
418 	 *     returnValue = ignored
419 	 *     nParamValues = 2
420 	 *     paramValues = a #GValue array holding the instance and the enumeration parameter
421 	 *     invocationHint = the invocation hint given as the last argument
422 	 *         to g_closure_invoke()
423 	 *     marshalData = additional data specified when registering the marshaller
424 	 */
425 	public static void marshalVOIDENUM(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
426 	{
427 		g_cclosure_marshal_VOID__ENUM((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
428 	}
429 
430 	/**
431 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().
432 	 *
433 	 * Params:
434 	 *     closure = the #GClosure to which the marshaller belongs
435 	 *     returnValue = a #GValue to store the return
436 	 *         value. May be %NULL if the callback of @closure doesn't return a
437 	 *         value.
438 	 *     instance_ = the instance on which the closure is invoked.
439 	 *     args = va_list of arguments to be passed to the closure.
440 	 *     marshalData = additional data specified when
441 	 *         registering the marshaller, see g_closure_set_marshal() and
442 	 *         g_closure_set_meta_marshal()
443 	 *     paramTypes = the #GType of each argument from
444 	 *         @args.
445 	 */
446 	public static void marshalVOIDENUMv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
447 	{
448 		g_cclosure_marshal_VOID__ENUMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
449 	}
450 
451 	/**
452 	 * A marshaller for a #GCClosure with a callback of type
453 	 * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type.
454 	 *
455 	 * Params:
456 	 *     closure = the #GClosure to which the marshaller belongs
457 	 *     returnValue = ignored
458 	 *     nParamValues = 2
459 	 *     paramValues = a #GValue array holding the instance and the flags parameter
460 	 *     invocationHint = the invocation hint given as the last argument
461 	 *         to g_closure_invoke()
462 	 *     marshalData = additional data specified when registering the marshaller
463 	 */
464 	public static void marshalVOIDFLAGS(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
465 	{
466 		g_cclosure_marshal_VOID__FLAGS((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
467 	}
468 
469 	/**
470 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().
471 	 *
472 	 * Params:
473 	 *     closure = the #GClosure to which the marshaller belongs
474 	 *     returnValue = a #GValue to store the return
475 	 *         value. May be %NULL if the callback of @closure doesn't return a
476 	 *         value.
477 	 *     instance_ = the instance on which the closure is invoked.
478 	 *     args = va_list of arguments to be passed to the closure.
479 	 *     marshalData = additional data specified when
480 	 *         registering the marshaller, see g_closure_set_marshal() and
481 	 *         g_closure_set_meta_marshal()
482 	 *     paramTypes = the #GType of each argument from
483 	 *         @args.
484 	 */
485 	public static void marshalVOIDFLAGSv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
486 	{
487 		g_cclosure_marshal_VOID__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
488 	}
489 
490 	/**
491 	 * A marshaller for a #GCClosure with a callback of type
492 	 * `void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
493 	 *
494 	 * Params:
495 	 *     closure = the #GClosure to which the marshaller belongs
496 	 *     returnValue = ignored
497 	 *     nParamValues = 2
498 	 *     paramValues = a #GValue array holding the instance and the #gfloat parameter
499 	 *     invocationHint = the invocation hint given as the last argument
500 	 *         to g_closure_invoke()
501 	 *     marshalData = additional data specified when registering the marshaller
502 	 */
503 	public static void marshalVOIDFLOAT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
504 	{
505 		g_cclosure_marshal_VOID__FLOAT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
506 	}
507 
508 	/**
509 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().
510 	 *
511 	 * Params:
512 	 *     closure = the #GClosure to which the marshaller belongs
513 	 *     returnValue = a #GValue to store the return
514 	 *         value. May be %NULL if the callback of @closure doesn't return a
515 	 *         value.
516 	 *     instance_ = the instance on which the closure is invoked.
517 	 *     args = va_list of arguments to be passed to the closure.
518 	 *     marshalData = additional data specified when
519 	 *         registering the marshaller, see g_closure_set_marshal() and
520 	 *         g_closure_set_meta_marshal()
521 	 *     paramTypes = the #GType of each argument from
522 	 *         @args.
523 	 */
524 	public static void marshalVOIDFLOATv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
525 	{
526 		g_cclosure_marshal_VOID__FLOATv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
527 	}
528 
529 	/**
530 	 * A marshaller for a #GCClosure with a callback of type
531 	 * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
532 	 *
533 	 * Params:
534 	 *     closure = the #GClosure to which the marshaller belongs
535 	 *     returnValue = ignored
536 	 *     nParamValues = 2
537 	 *     paramValues = a #GValue array holding the instance and the #gint 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 marshalVOIDINT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
543 	{
544 		g_cclosure_marshal_VOID__INT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
545 	}
546 
547 	/**
548 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().
549 	 *
550 	 * Params:
551 	 *     closure = the #GClosure to which the marshaller belongs
552 	 *     returnValue = a #GValue to store the return
553 	 *         value. May be %NULL if the callback of @closure doesn't return a
554 	 *         value.
555 	 *     instance_ = the instance on which the closure is invoked.
556 	 *     args = va_list of arguments to be passed to the closure.
557 	 *     marshalData = additional data specified when
558 	 *         registering the marshaller, see g_closure_set_marshal() and
559 	 *         g_closure_set_meta_marshal()
560 	 *     paramTypes = the #GType of each argument from
561 	 *         @args.
562 	 */
563 	public static void marshalVOIDINTv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
564 	{
565 		g_cclosure_marshal_VOID__INTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
566 	}
567 
568 	/**
569 	 * A marshaller for a #GCClosure with a callback of type
570 	 * `void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
571 	 *
572 	 * Params:
573 	 *     closure = the #GClosure to which the marshaller belongs
574 	 *     returnValue = ignored
575 	 *     nParamValues = 2
576 	 *     paramValues = a #GValue array holding the instance and the #glong parameter
577 	 *     invocationHint = the invocation hint given as the last argument
578 	 *         to g_closure_invoke()
579 	 *     marshalData = additional data specified when registering the marshaller
580 	 */
581 	public static void marshalVOIDLONG(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
582 	{
583 		g_cclosure_marshal_VOID__LONG((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
584 	}
585 
586 	/**
587 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().
588 	 *
589 	 * Params:
590 	 *     closure = the #GClosure to which the marshaller belongs
591 	 *     returnValue = a #GValue to store the return
592 	 *         value. May be %NULL if the callback of @closure doesn't return a
593 	 *         value.
594 	 *     instance_ = the instance on which the closure is invoked.
595 	 *     args = va_list of arguments to be passed to the closure.
596 	 *     marshalData = additional data specified when
597 	 *         registering the marshaller, see g_closure_set_marshal() and
598 	 *         g_closure_set_meta_marshal()
599 	 *     paramTypes = the #GType of each argument from
600 	 *         @args.
601 	 */
602 	public static void marshalVOIDLONGv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
603 	{
604 		g_cclosure_marshal_VOID__LONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
605 	}
606 
607 	/**
608 	 * A marshaller for a #GCClosure with a callback of type
609 	 * `void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
610 	 *
611 	 * Params:
612 	 *     closure = the #GClosure to which the marshaller belongs
613 	 *     returnValue = ignored
614 	 *     nParamValues = 2
615 	 *     paramValues = a #GValue array holding the instance and the #GObject* parameter
616 	 *     invocationHint = the invocation hint given as the last argument
617 	 *         to g_closure_invoke()
618 	 *     marshalData = additional data specified when registering the marshaller
619 	 */
620 	public static void marshalVOIDOBJECT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
621 	{
622 		g_cclosure_marshal_VOID__OBJECT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
623 	}
624 
625 	/**
626 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().
627 	 *
628 	 * Params:
629 	 *     closure = the #GClosure to which the marshaller belongs
630 	 *     returnValue = a #GValue to store the return
631 	 *         value. May be %NULL if the callback of @closure doesn't return a
632 	 *         value.
633 	 *     instance_ = the instance on which the closure is invoked.
634 	 *     args = va_list of arguments to be passed to the closure.
635 	 *     marshalData = additional data specified when
636 	 *         registering the marshaller, see g_closure_set_marshal() and
637 	 *         g_closure_set_meta_marshal()
638 	 *     paramTypes = the #GType of each argument from
639 	 *         @args.
640 	 */
641 	public static void marshalVOIDOBJECTv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
642 	{
643 		g_cclosure_marshal_VOID__OBJECTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
644 	}
645 
646 	/**
647 	 * A marshaller for a #GCClosure with a callback of type
648 	 * `void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
649 	 *
650 	 * Params:
651 	 *     closure = the #GClosure to which the marshaller belongs
652 	 *     returnValue = ignored
653 	 *     nParamValues = 2
654 	 *     paramValues = a #GValue array holding the instance and the #GParamSpec* parameter
655 	 *     invocationHint = the invocation hint given as the last argument
656 	 *         to g_closure_invoke()
657 	 *     marshalData = additional data specified when registering the marshaller
658 	 */
659 	public static void marshalVOIDPARAM(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
660 	{
661 		g_cclosure_marshal_VOID__PARAM((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
662 	}
663 
664 	/**
665 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().
666 	 *
667 	 * Params:
668 	 *     closure = the #GClosure to which the marshaller belongs
669 	 *     returnValue = a #GValue to store the return
670 	 *         value. May be %NULL if the callback of @closure doesn't return a
671 	 *         value.
672 	 *     instance_ = the instance on which the closure is invoked.
673 	 *     args = va_list of arguments to be passed to the closure.
674 	 *     marshalData = additional data specified when
675 	 *         registering the marshaller, see g_closure_set_marshal() and
676 	 *         g_closure_set_meta_marshal()
677 	 *     paramTypes = the #GType of each argument from
678 	 *         @args.
679 	 */
680 	public static void marshalVOIDPARAMv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
681 	{
682 		g_cclosure_marshal_VOID__PARAMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
683 	}
684 
685 	/**
686 	 * A marshaller for a #GCClosure with a callback of type
687 	 * `void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
688 	 *
689 	 * Params:
690 	 *     closure = the #GClosure to which the marshaller belongs
691 	 *     returnValue = ignored
692 	 *     nParamValues = 2
693 	 *     paramValues = a #GValue array holding the instance and the #gpointer parameter
694 	 *     invocationHint = the invocation hint given as the last argument
695 	 *         to g_closure_invoke()
696 	 *     marshalData = additional data specified when registering the marshaller
697 	 */
698 	public static void marshalVOIDPOINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
699 	{
700 		g_cclosure_marshal_VOID__POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
701 	}
702 
703 	/**
704 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().
705 	 *
706 	 * Params:
707 	 *     closure = the #GClosure to which the marshaller belongs
708 	 *     returnValue = a #GValue to store the return
709 	 *         value. May be %NULL if the callback of @closure doesn't return a
710 	 *         value.
711 	 *     instance_ = the instance on which the closure is invoked.
712 	 *     args = va_list of arguments to be passed to the closure.
713 	 *     marshalData = additional data specified when
714 	 *         registering the marshaller, see g_closure_set_marshal() and
715 	 *         g_closure_set_meta_marshal()
716 	 *     paramTypes = the #GType of each argument from
717 	 *         @args.
718 	 */
719 	public static void marshalVOIDPOINTERv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
720 	{
721 		g_cclosure_marshal_VOID__POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
722 	}
723 
724 	/**
725 	 * A marshaller for a #GCClosure with a callback of type
726 	 * `void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
727 	 *
728 	 * Params:
729 	 *     closure = the #GClosure to which the marshaller belongs
730 	 *     returnValue = ignored
731 	 *     nParamValues = 2
732 	 *     paramValues = a #GValue array holding the instance and the #gchar* parameter
733 	 *     invocationHint = the invocation hint given as the last argument
734 	 *         to g_closure_invoke()
735 	 *     marshalData = additional data specified when registering the marshaller
736 	 */
737 	public static void marshalVOIDSTRING(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
738 	{
739 		g_cclosure_marshal_VOID__STRING((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
740 	}
741 
742 	/**
743 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().
744 	 *
745 	 * Params:
746 	 *     closure = the #GClosure to which the marshaller belongs
747 	 *     returnValue = a #GValue to store the return
748 	 *         value. May be %NULL if the callback of @closure doesn't return a
749 	 *         value.
750 	 *     instance_ = the instance on which the closure is invoked.
751 	 *     args = va_list of arguments to be passed to the closure.
752 	 *     marshalData = additional data specified when
753 	 *         registering the marshaller, see g_closure_set_marshal() and
754 	 *         g_closure_set_meta_marshal()
755 	 *     paramTypes = the #GType of each argument from
756 	 *         @args.
757 	 */
758 	public static void marshalVOIDSTRINGv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
759 	{
760 		g_cclosure_marshal_VOID__STRINGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
761 	}
762 
763 	/**
764 	 * A marshaller for a #GCClosure with a callback of type
765 	 * `void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
766 	 *
767 	 * Params:
768 	 *     closure = the #GClosure to which the marshaller belongs
769 	 *     returnValue = ignored
770 	 *     nParamValues = 2
771 	 *     paramValues = a #GValue array holding the instance and the #guchar parameter
772 	 *     invocationHint = the invocation hint given as the last argument
773 	 *         to g_closure_invoke()
774 	 *     marshalData = additional data specified when registering the marshaller
775 	 */
776 	public static void marshalVOIDUCHAR(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
777 	{
778 		g_cclosure_marshal_VOID__UCHAR((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
779 	}
780 
781 	/**
782 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().
783 	 *
784 	 * Params:
785 	 *     closure = the #GClosure to which the marshaller belongs
786 	 *     returnValue = a #GValue to store the return
787 	 *         value. May be %NULL if the callback of @closure doesn't return a
788 	 *         value.
789 	 *     instance_ = the instance on which the closure is invoked.
790 	 *     args = va_list of arguments to be passed to the closure.
791 	 *     marshalData = additional data specified when
792 	 *         registering the marshaller, see g_closure_set_marshal() and
793 	 *         g_closure_set_meta_marshal()
794 	 *     paramTypes = the #GType of each argument from
795 	 *         @args.
796 	 */
797 	public static void marshalVOIDUCHARv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
798 	{
799 		g_cclosure_marshal_VOID__UCHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
800 	}
801 
802 	/**
803 	 * A marshaller for a #GCClosure with a callback of type
804 	 * `void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
805 	 *
806 	 * Params:
807 	 *     closure = the #GClosure to which the marshaller belongs
808 	 *     returnValue = ignored
809 	 *     nParamValues = 2
810 	 *     paramValues = a #GValue array holding the instance and the #guint parameter
811 	 *     invocationHint = the invocation hint given as the last argument
812 	 *         to g_closure_invoke()
813 	 *     marshalData = additional data specified when registering the marshaller
814 	 */
815 	public static void marshalVOIDUINT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
816 	{
817 		g_cclosure_marshal_VOID__UINT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
818 	}
819 
820 	/**
821 	 * A marshaller for a #GCClosure with a callback of type
822 	 * `void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
823 	 *
824 	 * Params:
825 	 *     closure = the #GClosure to which the marshaller belongs
826 	 *     returnValue = ignored
827 	 *     nParamValues = 3
828 	 *     paramValues = a #GValue array holding instance, arg1 and arg2
829 	 *     invocationHint = the invocation hint given as the last argument
830 	 *         to g_closure_invoke()
831 	 *     marshalData = additional data specified when registering the marshaller
832 	 */
833 	public static void marshalVOIDUINTPOINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
834 	{
835 		g_cclosure_marshal_VOID__UINT_POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
836 	}
837 
838 	/**
839 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().
840 	 *
841 	 * Params:
842 	 *     closure = the #GClosure to which the marshaller belongs
843 	 *     returnValue = a #GValue to store the return
844 	 *         value. May be %NULL if the callback of @closure doesn't return a
845 	 *         value.
846 	 *     instance_ = the instance on which the closure is invoked.
847 	 *     args = va_list of arguments to be passed to the closure.
848 	 *     marshalData = additional data specified when
849 	 *         registering the marshaller, see g_closure_set_marshal() and
850 	 *         g_closure_set_meta_marshal()
851 	 *     paramTypes = the #GType of each argument from
852 	 *         @args.
853 	 */
854 	public static void marshalVOIDUINTPOINTERv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
855 	{
856 		g_cclosure_marshal_VOID__UINT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
857 	}
858 
859 	/**
860 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().
861 	 *
862 	 * Params:
863 	 *     closure = the #GClosure to which the marshaller belongs
864 	 *     returnValue = a #GValue to store the return
865 	 *         value. May be %NULL if the callback of @closure doesn't return a
866 	 *         value.
867 	 *     instance_ = the instance on which the closure is invoked.
868 	 *     args = va_list of arguments to be passed to the closure.
869 	 *     marshalData = additional data specified when
870 	 *         registering the marshaller, see g_closure_set_marshal() and
871 	 *         g_closure_set_meta_marshal()
872 	 *     paramTypes = the #GType of each argument from
873 	 *         @args.
874 	 */
875 	public static void marshalVOIDUINTv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
876 	{
877 		g_cclosure_marshal_VOID__UINTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
878 	}
879 
880 	/**
881 	 * A marshaller for a #GCClosure with a callback of type
882 	 * `void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
883 	 *
884 	 * Params:
885 	 *     closure = the #GClosure to which the marshaller belongs
886 	 *     returnValue = ignored
887 	 *     nParamValues = 2
888 	 *     paramValues = a #GValue array holding the instance and the #gulong parameter
889 	 *     invocationHint = the invocation hint given as the last argument
890 	 *         to g_closure_invoke()
891 	 *     marshalData = additional data specified when registering the marshaller
892 	 */
893 	public static void marshalVOIDULONG(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
894 	{
895 		g_cclosure_marshal_VOID__ULONG((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
896 	}
897 
898 	/**
899 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().
900 	 *
901 	 * Params:
902 	 *     closure = the #GClosure to which the marshaller belongs
903 	 *     returnValue = a #GValue to store the return
904 	 *         value. May be %NULL if the callback of @closure doesn't return a
905 	 *         value.
906 	 *     instance_ = the instance on which the closure is invoked.
907 	 *     args = va_list of arguments to be passed to the closure.
908 	 *     marshalData = additional data specified when
909 	 *         registering the marshaller, see g_closure_set_marshal() and
910 	 *         g_closure_set_meta_marshal()
911 	 *     paramTypes = the #GType of each argument from
912 	 *         @args.
913 	 */
914 	public static void marshalVOIDULONGv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
915 	{
916 		g_cclosure_marshal_VOID__ULONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
917 	}
918 
919 	/**
920 	 * A marshaller for a #GCClosure with a callback of type
921 	 * `void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
922 	 *
923 	 * Params:
924 	 *     closure = the #GClosure to which the marshaller belongs
925 	 *     returnValue = ignored
926 	 *     nParamValues = 2
927 	 *     paramValues = a #GValue array holding the instance and the #GVariant* parameter
928 	 *     invocationHint = the invocation hint given as the last argument
929 	 *         to g_closure_invoke()
930 	 *     marshalData = additional data specified when registering the marshaller
931 	 *
932 	 * Since: 2.26
933 	 */
934 	public static void marshalVOIDVARIANT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
935 	{
936 		g_cclosure_marshal_VOID__VARIANT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
937 	}
938 
939 	/**
940 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().
941 	 *
942 	 * Params:
943 	 *     closure = the #GClosure to which the marshaller belongs
944 	 *     returnValue = a #GValue to store the return
945 	 *         value. May be %NULL if the callback of @closure doesn't return a
946 	 *         value.
947 	 *     instance_ = the instance on which the closure is invoked.
948 	 *     args = va_list of arguments to be passed to the closure.
949 	 *     marshalData = additional data specified when
950 	 *         registering the marshaller, see g_closure_set_marshal() and
951 	 *         g_closure_set_meta_marshal()
952 	 *     paramTypes = the #GType of each argument from
953 	 *         @args.
954 	 */
955 	public static void marshalVOIDVARIANTv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
956 	{
957 		g_cclosure_marshal_VOID__VARIANTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
958 	}
959 
960 	/**
961 	 * A marshaller for a #GCClosure with a callback of type
962 	 * `void (*callback) (gpointer instance, gpointer user_data)`.
963 	 *
964 	 * Params:
965 	 *     closure = the #GClosure to which the marshaller belongs
966 	 *     returnValue = ignored
967 	 *     nParamValues = 1
968 	 *     paramValues = a #GValue array holding only the instance
969 	 *     invocationHint = the invocation hint given as the last argument
970 	 *         to g_closure_invoke()
971 	 *     marshalData = additional data specified when registering the marshaller
972 	 */
973 	public static void marshalVOIDVOID(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
974 	{
975 		g_cclosure_marshal_VOID__VOID((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
976 	}
977 
978 	/**
979 	 * The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VOID().
980 	 *
981 	 * Params:
982 	 *     closure = the #GClosure to which the marshaller belongs
983 	 *     returnValue = a #GValue to store the return
984 	 *         value. May be %NULL if the callback of @closure doesn't return a
985 	 *         value.
986 	 *     instance_ = the instance on which the closure is invoked.
987 	 *     args = va_list of arguments to be passed to the closure.
988 	 *     marshalData = additional data specified when
989 	 *         registering the marshaller, see g_closure_set_marshal() and
990 	 *         g_closure_set_meta_marshal()
991 	 *     paramTypes = the #GType of each argument from
992 	 *         @args.
993 	 */
994 	public static void marshalVOIDVOIDv(Closure closure, Value returnValue, TypeInstance instance_, void* args, void* marshalData, GType[] paramTypes)
995 	{
996 		g_cclosure_marshal_VOID__VOIDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), args, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
997 	}
998 
999 	/**
1000 	 * A generic marshaller function implemented via
1001 	 * [libffi](http://sourceware.org/libffi/).
1002 	 *
1003 	 * Normally this function is not passed explicitly to g_signal_new(),
1004 	 * but used automatically by GLib when specifying a %NULL marshaller.
1005 	 *
1006 	 * Params:
1007 	 *     closure = A #GClosure.
1008 	 *     returnGvalue = A #GValue to store the return value. May be %NULL
1009 	 *         if the callback of closure doesn't return a value.
1010 	 *     nParamValues = The length of the @param_values array.
1011 	 *     paramValues = An array of #GValues holding the arguments
1012 	 *         on which to invoke the callback of closure.
1013 	 *     invocationHint = The invocation hint given as the last argument to
1014 	 *         g_closure_invoke().
1015 	 *     marshalData = Additional data specified when registering the
1016 	 *         marshaller, see g_closure_set_marshal() and
1017 	 *         g_closure_set_meta_marshal()
1018 	 *
1019 	 * Since: 2.30
1020 	 */
1021 	public static void marshalGeneric(Closure closure, Value returnGvalue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
1022 	{
1023 		g_cclosure_marshal_generic((closure is null) ? null : closure.getClosureStruct(), (returnGvalue is null) ? null : returnGvalue.getValueStruct(), nParamValues, (paramValues is null) ? null : paramValues.getValueStruct(), invocationHint, marshalData);
1024 	}
1025 
1026 	/**
1027 	 * A generic #GVaClosureMarshal function implemented via
1028 	 * [libffi](http://sourceware.org/libffi/).
1029 	 *
1030 	 * Params:
1031 	 *     closure = the #GClosure to which the marshaller belongs
1032 	 *     returnValue = a #GValue to store the return
1033 	 *         value. May be %NULL if the callback of @closure doesn't return a
1034 	 *         value.
1035 	 *     instance_ = the instance on which the closure is
1036 	 *         invoked.
1037 	 *     argsList = va_list of arguments to be passed to the closure.
1038 	 *     marshalData = additional data specified when
1039 	 *         registering the marshaller, see g_closure_set_marshal() and
1040 	 *         g_closure_set_meta_marshal()
1041 	 *     paramTypes = the #GType of each argument from
1042 	 *         @args_list.
1043 	 *
1044 	 * Since: 2.30
1045 	 */
1046 	public static void marshalGenericVa(Closure closure, Value returnValue, TypeInstance instance_, void* argsList, void* marshalData, GType[] paramTypes)
1047 	{
1048 		g_cclosure_marshal_generic_va((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), (instance_ is null) ? null : instance_.getTypeInstanceStruct(), argsList, marshalData, cast(int)paramTypes.length, paramTypes.ptr);
1049 	}
1050 }