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