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