1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gobject.CClosure;
26 
27 private import glib.ConstructionException;
28 private import gobject.Closure;
29 private import gobject.ObjectG;
30 private import gobject.Value;
31 private import gtkc.gobject;
32 public  import gtkc.gobjecttypes;
33 
34 
35 /**
36  * A #GCClosure is a specialization of #GClosure for C function callbacks.
37  */
38 public class CClosure
39 {
40 	/** the main Gtk struct */
41 	protected GCClosure* gCClosure;
42 
43 	/** Get the main Gtk struct */
44 	public GCClosure* getCClosureStruct()
45 	{
46 		return gCClosure;
47 	}
48 
49 	/** the main Gtk struct as a void* */
50 	protected void* getStruct()
51 	{
52 		return cast(void*)gCClosure;
53 	}
54 
55 	/**
56 	 * Sets our main struct and passes it to the parent class.
57 	 */
58 	public this (GCClosure* gCClosure)
59 	{
60 		this.gCClosure = gCClosure;
61 	}
62 
63 	/**
64 	 * Creates a new closure which invokes callbackFunc with userData as
65 	 * the last parameter.
66 	 *
67 	 * Params:
68 	 *     callbackFunc = the function to invoke
69 	 *     userData = user data to pass to callbackFunc
70 	 *     destroyData = destroy notify to be called when userData is no longer used
71 	 *     swap = if true invoce with usrData as the first parameter
72 	 *
73 	 * Throws: ConstructionException GTK+ fails to create the object.
74 	 */
75 	public this(GCallback callbackFunc, void* userData, GClosureNotify destroyData, bool swap)
76 	{
77 		GClosure* p;
78 		
79 		if ( swap )
80 			p = g_cclosure_new_swap(callbackFunc, userData, destroyData);
81 		else
82 			p = g_cclosure_new(callbackFunc, userData, destroyData);
83 		
84 		if(p is null)
85 		{
86 			throw new ConstructionException("null returned by new");
87 		}
88 		
89 		this(cast(GCClosure*) p);
90 	}
91 	
92 	/**
93 	 * A variant of this() which uses object as userData and
94 	 * calls ObjectG.watchClosure() on object and the created
95 	 * closure. This function is useful when you have a callback closely
96 	 * associated with a gobject.ObjectG, and want the callback to no longer run
97 	 * after the object is is freed.
98 	 *
99 	 * Params:
100 	 *     callbackFunc = the function to invoke
101 	 *     object = a gobject.ObjectG.ObjectG to pass to callbackFunc
102 	 *     swap = if true invoce with usrData as the first parameter
103 	 *
104 	 * Throws: ConstructionException GTK+ fails to create the object.
105 	 */
106 	public this(GCallback callbackFunc, ObjectG object, bool swap)
107 	{
108 		GClosure* p;
109 		
110 		if ( swap )
111 			p = g_cclosure_new_object_swap(callbackFunc, (object is null) ? null : object.getObjectGStruct());
112 		else
113 			p = g_cclosure_new_object(callbackFunc, (object is null) ? null : object.getObjectGStruct());
114 		
115 		if(p is null)
116 		{
117 			throw new ConstructionException("null returned by new_object");
118 		}
119 		
120 		this(cast(GCClosure*) p);
121 	}
122 
123 	/**
124 	 */
125 
126 	public static void marshalBOOLEANBOXEDBOXED(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
127 	{
128 		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);
129 	}
130 
131 	public static void marshalBOOLEANBOXEDBOXEDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
132 	{
133 		g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
134 	}
135 
136 	/**
137 	 * A marshaller for a #GCClosure with a callback of type
138 	 * `gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
139 	 * denotes a flags type.
140 	 *
141 	 * Params:
142 	 *     closure = the #GClosure to which the marshaller belongs
143 	 *     returnValue = a #GValue which can store the returned #gboolean
144 	 *     nParamValues = 2
145 	 *     paramValues = a #GValue array holding instance and arg1
146 	 *     invocationHint = the invocation hint given as the last argument
147 	 *         to g_closure_invoke()
148 	 *     marshalData = additional data specified when registering the marshaller
149 	 */
150 	public static void marshalBOOLEANFLAGS(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
151 	{
152 		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);
153 	}
154 
155 	public static void marshalBOOLEANFLAGSv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
156 	{
157 		g_cclosure_marshal_BOOLEAN__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
158 	}
159 
160 	/**
161 	 * A marshaller for a #GCClosure with a callback of type
162 	 * `gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
163 	 *
164 	 * Params:
165 	 *     closure = the #GClosure to which the marshaller belongs
166 	 *     returnValue = a #GValue, which can store the returned string
167 	 *     nParamValues = 3
168 	 *     paramValues = a #GValue array holding instance, arg1 and arg2
169 	 *     invocationHint = the invocation hint given as the last argument
170 	 *         to g_closure_invoke()
171 	 *     marshalData = additional data specified when registering the marshaller
172 	 */
173 	public static void marshalSTRINGOBJECTPOINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
174 	{
175 		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);
176 	}
177 
178 	public static void marshalSTRINGOBJECTPOINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
179 	{
180 		g_cclosure_marshal_STRING__OBJECT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
181 	}
182 
183 	/**
184 	 * A marshaller for a #GCClosure with a callback of type
185 	 * `void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
186 	 *
187 	 * Params:
188 	 *     closure = the #GClosure to which the marshaller belongs
189 	 *     returnValue = ignored
190 	 *     nParamValues = 2
191 	 *     paramValues = a #GValue array holding the instance and the #gboolean parameter
192 	 *     invocationHint = the invocation hint given as the last argument
193 	 *         to g_closure_invoke()
194 	 *     marshalData = additional data specified when registering the marshaller
195 	 */
196 	public static void marshalVOIDBOOLEAN(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
197 	{
198 		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);
199 	}
200 
201 	public static void marshalVOIDBOOLEANv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
202 	{
203 		g_cclosure_marshal_VOID__BOOLEANv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
204 	}
205 
206 	/**
207 	 * A marshaller for a #GCClosure with a callback of type
208 	 * `void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
209 	 *
210 	 * Params:
211 	 *     closure = the #GClosure to which the marshaller belongs
212 	 *     returnValue = ignored
213 	 *     nParamValues = 2
214 	 *     paramValues = a #GValue array holding the instance and the #GBoxed* parameter
215 	 *     invocationHint = the invocation hint given as the last argument
216 	 *         to g_closure_invoke()
217 	 *     marshalData = additional data specified when registering the marshaller
218 	 */
219 	public static void marshalVOIDBOXED(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
220 	{
221 		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);
222 	}
223 
224 	public static void marshalVOIDBOXEDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
225 	{
226 		g_cclosure_marshal_VOID__BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
227 	}
228 
229 	/**
230 	 * A marshaller for a #GCClosure with a callback of type
231 	 * `void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
232 	 *
233 	 * Params:
234 	 *     closure = the #GClosure to which the marshaller belongs
235 	 *     returnValue = ignored
236 	 *     nParamValues = 2
237 	 *     paramValues = a #GValue array holding the instance and the #gchar parameter
238 	 *     invocationHint = the invocation hint given as the last argument
239 	 *         to g_closure_invoke()
240 	 *     marshalData = additional data specified when registering the marshaller
241 	 */
242 	public static void marshalVOIDCHAR(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
243 	{
244 		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);
245 	}
246 
247 	public static void marshalVOIDCHARv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
248 	{
249 		g_cclosure_marshal_VOID__CHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
250 	}
251 
252 	/**
253 	 * A marshaller for a #GCClosure with a callback of type
254 	 * `void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
255 	 *
256 	 * Params:
257 	 *     closure = the #GClosure to which the marshaller belongs
258 	 *     returnValue = ignored
259 	 *     nParamValues = 2
260 	 *     paramValues = a #GValue array holding the instance and the #gdouble parameter
261 	 *     invocationHint = the invocation hint given as the last argument
262 	 *         to g_closure_invoke()
263 	 *     marshalData = additional data specified when registering the marshaller
264 	 */
265 	public static void marshalVOIDDOUBLE(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
266 	{
267 		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);
268 	}
269 
270 	public static void marshalVOIDDOUBLEv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
271 	{
272 		g_cclosure_marshal_VOID__DOUBLEv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
273 	}
274 
275 	/**
276 	 * A marshaller for a #GCClosure with a callback of type
277 	 * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type..
278 	 *
279 	 * Params:
280 	 *     closure = the #GClosure to which the marshaller belongs
281 	 *     returnValue = ignored
282 	 *     nParamValues = 2
283 	 *     paramValues = a #GValue array holding the instance and the enumeration parameter
284 	 *     invocationHint = the invocation hint given as the last argument
285 	 *         to g_closure_invoke()
286 	 *     marshalData = additional data specified when registering the marshaller
287 	 */
288 	public static void marshalVOIDENUM(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
289 	{
290 		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);
291 	}
292 
293 	public static void marshalVOIDENUMv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
294 	{
295 		g_cclosure_marshal_VOID__ENUMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
296 	}
297 
298 	/**
299 	 * A marshaller for a #GCClosure with a callback of type
300 	 * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type.
301 	 *
302 	 * Params:
303 	 *     closure = the #GClosure to which the marshaller belongs
304 	 *     returnValue = ignored
305 	 *     nParamValues = 2
306 	 *     paramValues = a #GValue array holding the instance and the flags parameter
307 	 *     invocationHint = the invocation hint given as the last argument
308 	 *         to g_closure_invoke()
309 	 *     marshalData = additional data specified when registering the marshaller
310 	 */
311 	public static void marshalVOIDFLAGS(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
312 	{
313 		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);
314 	}
315 
316 	public static void marshalVOIDFLAGSv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
317 	{
318 		g_cclosure_marshal_VOID__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
319 	}
320 
321 	/**
322 	 * A marshaller for a #GCClosure with a callback of type
323 	 * `void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
324 	 *
325 	 * Params:
326 	 *     closure = the #GClosure to which the marshaller belongs
327 	 *     returnValue = ignored
328 	 *     nParamValues = 2
329 	 *     paramValues = a #GValue array holding the instance and the #gfloat parameter
330 	 *     invocationHint = the invocation hint given as the last argument
331 	 *         to g_closure_invoke()
332 	 *     marshalData = additional data specified when registering the marshaller
333 	 */
334 	public static void marshalVOIDFLOAT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
335 	{
336 		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);
337 	}
338 
339 	public static void marshalVOIDFLOATv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
340 	{
341 		g_cclosure_marshal_VOID__FLOATv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
342 	}
343 
344 	/**
345 	 * A marshaller for a #GCClosure with a callback of type
346 	 * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
347 	 *
348 	 * Params:
349 	 *     closure = the #GClosure to which the marshaller belongs
350 	 *     returnValue = ignored
351 	 *     nParamValues = 2
352 	 *     paramValues = a #GValue array holding the instance and the #gint parameter
353 	 *     invocationHint = the invocation hint given as the last argument
354 	 *         to g_closure_invoke()
355 	 *     marshalData = additional data specified when registering the marshaller
356 	 */
357 	public static void marshalVOIDINT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
358 	{
359 		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);
360 	}
361 
362 	public static void marshalVOIDINTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
363 	{
364 		g_cclosure_marshal_VOID__INTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
365 	}
366 
367 	/**
368 	 * A marshaller for a #GCClosure with a callback of type
369 	 * `void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
370 	 *
371 	 * Params:
372 	 *     closure = the #GClosure to which the marshaller belongs
373 	 *     returnValue = ignored
374 	 *     nParamValues = 2
375 	 *     paramValues = a #GValue array holding the instance and the #glong parameter
376 	 *     invocationHint = the invocation hint given as the last argument
377 	 *         to g_closure_invoke()
378 	 *     marshalData = additional data specified when registering the marshaller
379 	 */
380 	public static void marshalVOIDLONG(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
381 	{
382 		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);
383 	}
384 
385 	public static void marshalVOIDLONGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
386 	{
387 		g_cclosure_marshal_VOID__LONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
388 	}
389 
390 	/**
391 	 * A marshaller for a #GCClosure with a callback of type
392 	 * `void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
393 	 *
394 	 * Params:
395 	 *     closure = the #GClosure to which the marshaller belongs
396 	 *     returnValue = ignored
397 	 *     nParamValues = 2
398 	 *     paramValues = a #GValue array holding the instance and the #GObject* parameter
399 	 *     invocationHint = the invocation hint given as the last argument
400 	 *         to g_closure_invoke()
401 	 *     marshalData = additional data specified when registering the marshaller
402 	 */
403 	public static void marshalVOIDOBJECT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
404 	{
405 		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);
406 	}
407 
408 	public static void marshalVOIDOBJECTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
409 	{
410 		g_cclosure_marshal_VOID__OBJECTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
411 	}
412 
413 	/**
414 	 * A marshaller for a #GCClosure with a callback of type
415 	 * `void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
416 	 *
417 	 * Params:
418 	 *     closure = the #GClosure to which the marshaller belongs
419 	 *     returnValue = ignored
420 	 *     nParamValues = 2
421 	 *     paramValues = a #GValue array holding the instance and the #GParamSpec* parameter
422 	 *     invocationHint = the invocation hint given as the last argument
423 	 *         to g_closure_invoke()
424 	 *     marshalData = additional data specified when registering the marshaller
425 	 */
426 	public static void marshalVOIDPARAM(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
427 	{
428 		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);
429 	}
430 
431 	public static void marshalVOIDPARAMv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
432 	{
433 		g_cclosure_marshal_VOID__PARAMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
434 	}
435 
436 	/**
437 	 * A marshaller for a #GCClosure with a callback of type
438 	 * `void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
439 	 *
440 	 * Params:
441 	 *     closure = the #GClosure to which the marshaller belongs
442 	 *     returnValue = ignored
443 	 *     nParamValues = 2
444 	 *     paramValues = a #GValue array holding the instance and the #gpointer parameter
445 	 *     invocationHint = the invocation hint given as the last argument
446 	 *         to g_closure_invoke()
447 	 *     marshalData = additional data specified when registering the marshaller
448 	 */
449 	public static void marshalVOIDPOINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
450 	{
451 		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);
452 	}
453 
454 	public static void marshalVOIDPOINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
455 	{
456 		g_cclosure_marshal_VOID__POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
457 	}
458 
459 	/**
460 	 * A marshaller for a #GCClosure with a callback of type
461 	 * `void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
462 	 *
463 	 * Params:
464 	 *     closure = the #GClosure to which the marshaller belongs
465 	 *     returnValue = ignored
466 	 *     nParamValues = 2
467 	 *     paramValues = a #GValue array holding the instance and the #gchar* parameter
468 	 *     invocationHint = the invocation hint given as the last argument
469 	 *         to g_closure_invoke()
470 	 *     marshalData = additional data specified when registering the marshaller
471 	 */
472 	public static void marshalVOIDSTRING(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
473 	{
474 		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);
475 	}
476 
477 	public static void marshalVOIDSTRINGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
478 	{
479 		g_cclosure_marshal_VOID__STRINGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
480 	}
481 
482 	/**
483 	 * A marshaller for a #GCClosure with a callback of type
484 	 * `void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
485 	 *
486 	 * Params:
487 	 *     closure = the #GClosure to which the marshaller belongs
488 	 *     returnValue = ignored
489 	 *     nParamValues = 2
490 	 *     paramValues = a #GValue array holding the instance and the #guchar parameter
491 	 *     invocationHint = the invocation hint given as the last argument
492 	 *         to g_closure_invoke()
493 	 *     marshalData = additional data specified when registering the marshaller
494 	 */
495 	public static void marshalVOIDUCHAR(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
496 	{
497 		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);
498 	}
499 
500 	public static void marshalVOIDUCHARv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
501 	{
502 		g_cclosure_marshal_VOID__UCHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
503 	}
504 
505 	/**
506 	 * A marshaller for a #GCClosure with a callback of type
507 	 * `void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
508 	 *
509 	 * Params:
510 	 *     closure = the #GClosure to which the marshaller belongs
511 	 *     returnValue = ignored
512 	 *     nParamValues = 2
513 	 *     paramValues = a #GValue array holding the instance and the #guint parameter
514 	 *     invocationHint = the invocation hint given as the last argument
515 	 *         to g_closure_invoke()
516 	 *     marshalData = additional data specified when registering the marshaller
517 	 */
518 	public static void marshalVOIDUINT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
519 	{
520 		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);
521 	}
522 
523 	/**
524 	 * A marshaller for a #GCClosure with a callback of type
525 	 * `void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
526 	 *
527 	 * Params:
528 	 *     closure = the #GClosure to which the marshaller belongs
529 	 *     returnValue = ignored
530 	 *     nParamValues = 3
531 	 *     paramValues = a #GValue array holding instance, arg1 and arg2
532 	 *     invocationHint = the invocation hint given as the last argument
533 	 *         to g_closure_invoke()
534 	 *     marshalData = additional data specified when registering the marshaller
535 	 */
536 	public static void marshalVOIDUINTPOINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
537 	{
538 		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);
539 	}
540 
541 	public static void marshalVOIDUINTPOINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
542 	{
543 		g_cclosure_marshal_VOID__UINT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
544 	}
545 
546 	public static void marshalVOIDUINTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
547 	{
548 		g_cclosure_marshal_VOID__UINTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
549 	}
550 
551 	/**
552 	 * A marshaller for a #GCClosure with a callback of type
553 	 * `void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
554 	 *
555 	 * Params:
556 	 *     closure = the #GClosure to which the marshaller belongs
557 	 *     returnValue = ignored
558 	 *     nParamValues = 2
559 	 *     paramValues = a #GValue array holding the instance and the #gulong parameter
560 	 *     invocationHint = the invocation hint given as the last argument
561 	 *         to g_closure_invoke()
562 	 *     marshalData = additional data specified when registering the marshaller
563 	 */
564 	public static void marshalVOIDULONG(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
565 	{
566 		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);
567 	}
568 
569 	public static void marshalVOIDULONGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
570 	{
571 		g_cclosure_marshal_VOID__ULONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
572 	}
573 
574 	/**
575 	 * A marshaller for a #GCClosure with a callback of type
576 	 * `void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
577 	 *
578 	 * Params:
579 	 *     closure = the #GClosure to which the marshaller belongs
580 	 *     returnValue = ignored
581 	 *     nParamValues = 2
582 	 *     paramValues = a #GValue array holding the instance and the #GVariant* parameter
583 	 *     invocationHint = the invocation hint given as the last argument
584 	 *         to g_closure_invoke()
585 	 *     marshalData = additional data specified when registering the marshaller
586 	 *
587 	 * Since: 2.26
588 	 */
589 	public static void marshalVOIDVARIANT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
590 	{
591 		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);
592 	}
593 
594 	public static void marshalVOIDVARIANTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
595 	{
596 		g_cclosure_marshal_VOID__VARIANTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
597 	}
598 
599 	/**
600 	 * A marshaller for a #GCClosure with a callback of type
601 	 * `void (*callback) (gpointer instance, gpointer user_data)`.
602 	 *
603 	 * Params:
604 	 *     closure = the #GClosure to which the marshaller belongs
605 	 *     returnValue = ignored
606 	 *     nParamValues = 1
607 	 *     paramValues = a #GValue array holding only the instance
608 	 *     invocationHint = the invocation hint given as the last argument
609 	 *         to g_closure_invoke()
610 	 *     marshalData = additional data specified when registering the marshaller
611 	 */
612 	public static void marshalVOIDVOID(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
613 	{
614 		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);
615 	}
616 
617 	public static void marshalVOIDVOIDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes)
618 	{
619 		g_cclosure_marshal_VOID__VOIDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes);
620 	}
621 
622 	/**
623 	 * A generic marshaller function implemented via
624 	 * [libffi](http://sourceware.org/libffi/).
625 	 *
626 	 * Normally this function is not passed explicitly to g_signal_new(),
627 	 * but used automatically by GLib when specifying a %NULL marshaller.
628 	 *
629 	 * Params:
630 	 *     closure = A #GClosure.
631 	 *     returnGvalue = A #GValue to store the return value. May be %NULL
632 	 *         if the callback of closure doesn't return a value.
633 	 *     nParamValues = The length of the @param_values array.
634 	 *     paramValues = An array of #GValues holding the arguments
635 	 *         on which to invoke the callback of closure.
636 	 *     invocationHint = The invocation hint given as the last argument to
637 	 *         g_closure_invoke().
638 	 *     marshalData = Additional data specified when registering the
639 	 *         marshaller, see g_closure_set_marshal() and
640 	 *         g_closure_set_meta_marshal()
641 	 *
642 	 * Since: 2.30
643 	 */
644 	public static void marshalGeneric(Closure closure, Value returnGvalue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
645 	{
646 		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);
647 	}
648 
649 	public static void marshalGenericVa(Closure closure, Value returnValue, void* instanc, void* argsList, void* marshalData, int nParams, GType* paramTypes)
650 	{
651 		g_cclosure_marshal_generic_va((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, argsList, marshalData, nParams, paramTypes);
652 	}
653 }