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