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