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