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