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  * Conversion parameters:
26  * inFile  = 
27  * outPack = gobject
28  * outFile = CClosure
29  * strct   = GCClosure
30  * realStrct=
31  * ctorStrct=
32  * clss    = CClosure
33  * interf  = 
34  * class Code: No
35  * interface Code: No
36  * template for:
37  * extend  = 
38  * implements:
39  * prefixes:
40  * 	- g_cclosure_
41  * omit structs:
42  * omit prefixes:
43  * omit code:
44  * omit signals:
45  * imports:
46  * 	- gobject.Closure
47  * 	- gobject.ObjectG
48  * 	- gobject.Value
49  * structWrap:
50  * 	- GClosure* -> Closure
51  * 	- GObject* -> ObjectG
52  * 	- GValue* -> Value
53  * module aliases:
54  * local aliases:
55  * overrides:
56  */
57 
58 module gobject.CClosure;
59 
60 public  import gtkc.gobjecttypes;
61 
62 private import gtkc.gobject;
63 private import glib.ConstructionException;
64 private import gobject.ObjectG;
65 
66 
67 private import gobject.Closure;
68 private import gobject.ObjectG;
69 private import gobject.Value;
70 
71 
72 
73 
74 /**
75  * Description
76  * A GClosure represents a callback supplied by the programmer. It
77  * will generally comprise a function of some kind and a marshaller
78  * used to call it. It is the reponsibility of the marshaller to
79  * convert the arguments for the invocation from GValues into
80  * a suitable form, perform the callback on the converted arguments,
81  * and transform the return value back into a GValue.
82  * In the case of C programs, a closure usually just holds a pointer
83  * to a function and maybe a data argument, and the marshaller
84  * converts between GValue and native C types. The GObject
85  * library provides the GCClosure type for this purpose. Bindings for
86  * other languages need marshallers which convert between GValues and suitable representations in the runtime of the language in
87  * order to use functions written in that languages as callbacks.
88  * Within GObject, closures play an important role in the
89  * implementation of signals. When a signal is registered, the
90  * c_marshaller argument to g_signal_new() specifies the default C
91  * marshaller for any closure which is connected to this
92  * signal. GObject provides a number of C marshallers for this
93  * purpose, see the g_cclosure_marshal_*() functions. Additional C
94  * marshallers can be generated with the glib-genmarshal utility. Closures
95  * can be explicitly connected to signals with
96  * g_signal_connect_closure(), but it usually more convenient to let
97  * GObject create a closure automatically by using one of the
98  * g_signal_connect_*() functions which take a callback function/user
99  * data pair.
100  * Using closures has a number of important advantages over a simple
101  * callback function/data pointer combination:
102  * Closures allow the callee to get the types of the callback parameters,
103  * which means that language bindings don't have to write individual glue
104  * for each callback type.
105  * The reference counting of GClosure makes it easy to handle reentrancy
106  * right; if a callback is removed while it is being invoked, the closure
107  * and its parameters won't be freed until the invocation finishes.
108  * g_closure_invalidate() and invalidation notifiers allow callbacks to be
109  * automatically removed when the objects they point to go away.
110  */
111 public class CClosure
112 {
113 	
114 	/** the main Gtk struct */
115 	protected GCClosure* gCClosure;
116 	
117 	
118 	public GCClosure* getCClosureStruct()
119 	{
120 		return gCClosure;
121 	}
122 	
123 	
124 	/** the main Gtk struct as a void* */
125 	protected void* getStruct()
126 	{
127 		return cast(void*)gCClosure;
128 	}
129 	
130 	/**
131 	 * Sets our main struct and passes it to the parent class
132 	 */
133 	public this (GCClosure* gCClosure)
134 	{
135 		this.gCClosure = gCClosure;
136 	}
137 	
138 	/**
139 	 */
140 	
141 	/**
142 	 * Creates a new closure which invokes callback_func with user_data as
143 	 * the last parameter.
144 	 * Params:
145 	 * callbackFunc = the function to invoke
146 	 * userData = user data to pass to callback_func
147 	 * destroyData = destroy notify to be called when user_data is no longer used
148 	 * Returns: a new GCClosure
149 	 */
150 	public static Closure newCClosure(GCallback callbackFunc, void* userData, GClosureNotify destroyData)
151 	{
152 		// GClosure * g_cclosure_new (GCallback callback_func,  gpointer user_data,  GClosureNotify destroy_data);
153 		auto p = g_cclosure_new(callbackFunc, userData, destroyData);
154 		
155 		if(p is null)
156 		{
157 			return null;
158 		}
159 		
160 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
161 	}
162 	
163 	/**
164 	 * Creates a new closure which invokes callback_func with user_data as
165 	 * the first parameter.
166 	 * Params:
167 	 * callbackFunc = the function to invoke
168 	 * userData = user data to pass to callback_func
169 	 * destroyData = destroy notify to be called when user_data is no longer used
170 	 * Returns: a new GCClosure. [transfer full]
171 	 */
172 	public static Closure newSwap(GCallback callbackFunc, void* userData, GClosureNotify destroyData)
173 	{
174 		// GClosure * g_cclosure_new_swap (GCallback callback_func,  gpointer user_data,  GClosureNotify destroy_data);
175 		auto p = g_cclosure_new_swap(callbackFunc, userData, destroyData);
176 		
177 		if(p is null)
178 		{
179 			return null;
180 		}
181 		
182 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
183 	}
184 	
185 	/**
186 	 * A variant of g_cclosure_new() which uses object as user_data and
187 	 * calls g_object_watch_closure() on object and the created
188 	 * closure. This function is useful when you have a callback closely
189 	 * associated with a GObject, and want the callback to no longer run
190 	 * after the object is is freed.
191 	 * Params:
192 	 * callbackFunc = the function to invoke
193 	 * object = a GObject pointer to pass to callback_func
194 	 * Returns: a new GCClosure
195 	 */
196 	public static Closure newObject(GCallback callbackFunc, ObjectG object)
197 	{
198 		// GClosure * g_cclosure_new_object (GCallback callback_func,  GObject *object);
199 		auto p = g_cclosure_new_object(callbackFunc, (object is null) ? null : object.getObjectGStruct());
200 		
201 		if(p is null)
202 		{
203 			return null;
204 		}
205 		
206 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
207 	}
208 	
209 	/**
210 	 * A variant of g_cclosure_new_swap() which uses object as user_data
211 	 * and calls g_object_watch_closure() on object and the created
212 	 * closure. This function is useful when you have a callback closely
213 	 * associated with a GObject, and want the callback to no longer run
214 	 * after the object is is freed.
215 	 * Params:
216 	 * callbackFunc = the function to invoke
217 	 * object = a GObject pointer to pass to callback_func
218 	 * Returns: a new GCClosure
219 	 */
220 	public static Closure newObjectSwap(GCallback callbackFunc, ObjectG object)
221 	{
222 		// GClosure * g_cclosure_new_object_swap (GCallback callback_func,  GObject *object);
223 		auto p = g_cclosure_new_object_swap(callbackFunc, (object is null) ? null : object.getObjectGStruct());
224 		
225 		if(p is null)
226 		{
227 			return null;
228 		}
229 		
230 		return ObjectG.getDObject!(Closure)(cast(GClosure*) p);
231 	}
232 	
233 	/**
234 	 * A marshaller for a GCClosure with a callback of type
235 	 * void (*callback) (gpointer instance, gpointer user_data).
236 	 * Params:
237 	 * closure = the GClosure to which the marshaller belongs
238 	 * returnValue = ignored
239 	 * nParamValues = 1
240 	 * paramValues = a GValue array holding only the instance
241 	 * invocationHint = the invocation hint given as the last argument
242 	 * to g_closure_invoke()
243 	 * marshalData = additional data specified when registering the marshaller
244 	 */
245 	public static void marshalVOID__VOID(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
246 	{
247 		// void g_cclosure_marshal_VOID__VOID (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
248 		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);
249 	}
250 	
251 	/**
252 	 * A marshaller for a GCClosure with a callback of type
253 	 * void (*callback) (gpointer instance, gboolean arg1, gpointer user_data).
254 	 * Params:
255 	 * closure = the GClosure to which the marshaller belongs
256 	 * returnValue = ignored
257 	 * nParamValues = 2
258 	 * paramValues = a GValue array holding the instance and the gboolean parameter
259 	 * invocationHint = the invocation hint given as the last argument
260 	 * to g_closure_invoke()
261 	 * marshalData = additional data specified when registering the marshaller
262 	 */
263 	public static void marshalVOID__BOOLEAN(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
264 	{
265 		// void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
266 		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);
267 	}
268 	
269 	/**
270 	 * A marshaller for a GCClosure with a callback of type
271 	 * void (*callback) (gpointer instance, gchar arg1, gpointer user_data).
272 	 * Params:
273 	 * closure = the GClosure to which the marshaller belongs
274 	 * returnValue = ignored
275 	 * nParamValues = 2
276 	 * paramValues = a GValue array holding the instance and the gchar parameter
277 	 * invocationHint = the invocation hint given as the last argument
278 	 * to g_closure_invoke()
279 	 * marshalData = additional data specified when registering the marshaller
280 	 */
281 	public static void marshalVOID__CHAR(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
282 	{
283 		// void g_cclosure_marshal_VOID__CHAR (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
284 		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);
285 	}
286 	
287 	/**
288 	 * A marshaller for a GCClosure with a callback of type
289 	 * void (*callback) (gpointer instance, guchar arg1, gpointer user_data).
290 	 * Params:
291 	 * closure = the GClosure to which the marshaller belongs
292 	 * returnValue = ignored
293 	 * nParamValues = 2
294 	 * paramValues = a GValue array holding the instance and the guchar parameter
295 	 * invocationHint = the invocation hint given as the last argument
296 	 * to g_closure_invoke()
297 	 * marshalData = additional data specified when registering the marshaller
298 	 */
299 	public static void marshalVOID__UCHAR(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
300 	{
301 		// void g_cclosure_marshal_VOID__UCHAR (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
302 		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);
303 	}
304 	
305 	/**
306 	 * A marshaller for a GCClosure with a callback of type
307 	 * void (*callback) (gpointer instance, gint arg1, gpointer user_data).
308 	 * Params:
309 	 * closure = the GClosure to which the marshaller belongs
310 	 * returnValue = ignored
311 	 * nParamValues = 2
312 	 * paramValues = a GValue array holding the instance and the gint parameter
313 	 * invocationHint = the invocation hint given as the last argument
314 	 * to g_closure_invoke()
315 	 * marshalData = additional data specified when registering the marshaller
316 	 */
317 	public static void marshalVOID__INT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
318 	{
319 		// void g_cclosure_marshal_VOID__INT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
320 		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);
321 	}
322 	
323 	/**
324 	 * A marshaller for a GCClosure with a callback of type
325 	 * void (*callback) (gpointer instance, guint arg1, gpointer user_data).
326 	 * Params:
327 	 * closure = the GClosure to which the marshaller belongs
328 	 * returnValue = ignored
329 	 * nParamValues = 2
330 	 * paramValues = a GValue array holding the instance and the guint parameter
331 	 * invocationHint = the invocation hint given as the last argument
332 	 * to g_closure_invoke()
333 	 * marshalData = additional data specified when registering the marshaller
334 	 */
335 	public static void marshalVOID__UINT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
336 	{
337 		// void g_cclosure_marshal_VOID__UINT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
338 		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);
339 	}
340 	
341 	/**
342 	 * A marshaller for a GCClosure with a callback of type
343 	 * void (*callback) (gpointer instance, glong arg1, gpointer user_data).
344 	 * Params:
345 	 * closure = the GClosure to which the marshaller belongs
346 	 * returnValue = ignored
347 	 * nParamValues = 2
348 	 * paramValues = a GValue array holding the instance and the glong parameter
349 	 * invocationHint = the invocation hint given as the last argument
350 	 * to g_closure_invoke()
351 	 * marshalData = additional data specified when registering the marshaller
352 	 */
353 	public static void marshalVOID__LONG(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
354 	{
355 		// void g_cclosure_marshal_VOID__LONG (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
356 		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);
357 	}
358 	
359 	/**
360 	 * A marshaller for a GCClosure with a callback of type
361 	 * void (*callback) (gpointer instance, gulong arg1, gpointer user_data).
362 	 * Params:
363 	 * closure = the GClosure to which the marshaller belongs
364 	 * returnValue = ignored
365 	 * nParamValues = 2
366 	 * paramValues = a GValue array holding the instance and the gulong parameter
367 	 * invocationHint = the invocation hint given as the last argument
368 	 * to g_closure_invoke()
369 	 * marshalData = additional data specified when registering the marshaller
370 	 */
371 	public static void marshalVOID__ULONG(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
372 	{
373 		// void g_cclosure_marshal_VOID__ULONG (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
374 		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);
375 	}
376 	
377 	/**
378 	 * A marshaller for a GCClosure with a callback of type
379 	 * void (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter denotes an enumeration type..
380 	 * Params:
381 	 * closure = the GClosure to which the marshaller belongs
382 	 * returnValue = ignored
383 	 * nParamValues = 2
384 	 * paramValues = a GValue array holding the instance and the enumeration parameter
385 	 * invocationHint = the invocation hint given as the last argument
386 	 * to g_closure_invoke()
387 	 * marshalData = additional data specified when registering the marshaller
388 	 */
389 	public static void marshalVOID__ENUM(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
390 	{
391 		// void g_cclosure_marshal_VOID__ENUM (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
392 		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);
393 	}
394 	
395 	/**
396 	 * A marshaller for a GCClosure with a callback of type
397 	 * void (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter denotes a flags type.
398 	 * Params:
399 	 * closure = the GClosure to which the marshaller belongs
400 	 * returnValue = ignored
401 	 * nParamValues = 2
402 	 * paramValues = a GValue array holding the instance and the flags parameter
403 	 * invocationHint = the invocation hint given as the last argument
404 	 * to g_closure_invoke()
405 	 * marshalData = additional data specified when registering the marshaller
406 	 */
407 	public static void marshalVOID__FLAGS(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
408 	{
409 		// void g_cclosure_marshal_VOID__FLAGS (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
410 		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);
411 	}
412 	
413 	/**
414 	 * A marshaller for a GCClosure with a callback of type
415 	 * void (*callback) (gpointer instance, gfloat arg1, gpointer user_data).
416 	 * Params:
417 	 * closure = the GClosure to which the marshaller belongs
418 	 * returnValue = ignored
419 	 * nParamValues = 2
420 	 * paramValues = a GValue array holding the instance and the gfloat parameter
421 	 * invocationHint = the invocation hint given as the last argument
422 	 * to g_closure_invoke()
423 	 * marshalData = additional data specified when registering the marshaller
424 	 */
425 	public static void marshalVOID__FLOAT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
426 	{
427 		// void g_cclosure_marshal_VOID__FLOAT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
428 		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);
429 	}
430 	
431 	/**
432 	 * A marshaller for a GCClosure with a callback of type
433 	 * void (*callback) (gpointer instance, gdouble arg1, gpointer user_data).
434 	 * Params:
435 	 * closure = the GClosure to which the marshaller belongs
436 	 * returnValue = ignored
437 	 * nParamValues = 2
438 	 * paramValues = a GValue array holding the instance and the gdouble parameter
439 	 * invocationHint = the invocation hint given as the last argument
440 	 * to g_closure_invoke()
441 	 * marshalData = additional data specified when registering the marshaller
442 	 */
443 	public static void marshalVOID__DOUBLE(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
444 	{
445 		// void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
446 		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);
447 	}
448 	
449 	/**
450 	 * A marshaller for a GCClosure with a callback of type
451 	 * void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data).
452 	 * Params:
453 	 * closure = the GClosure to which the marshaller belongs
454 	 * returnValue = ignored
455 	 * nParamValues = 2
456 	 * paramValues = a GValue array holding the instance and the gchar* parameter
457 	 * invocationHint = the invocation hint given as the last argument
458 	 * to g_closure_invoke()
459 	 * marshalData = additional data specified when registering the marshaller
460 	 */
461 	public static void marshalVOID__STRING(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
462 	{
463 		// void g_cclosure_marshal_VOID__STRING (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
464 		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);
465 	}
466 	
467 	/**
468 	 * A marshaller for a GCClosure with a callback of type
469 	 * void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data).
470 	 * Params:
471 	 * closure = the GClosure to which the marshaller belongs
472 	 * returnValue = ignored
473 	 * nParamValues = 2
474 	 * paramValues = a GValue array holding the instance and the GParamSpec* parameter
475 	 * invocationHint = the invocation hint given as the last argument
476 	 * to g_closure_invoke()
477 	 * marshalData = additional data specified when registering the marshaller
478 	 */
479 	public static void marshalVOID__PARAM(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
480 	{
481 		// void g_cclosure_marshal_VOID__PARAM (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
482 		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);
483 	}
484 	
485 	/**
486 	 * A marshaller for a GCClosure with a callback of type
487 	 * void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data).
488 	 * Params:
489 	 * closure = the GClosure to which the marshaller belongs
490 	 * returnValue = ignored
491 	 * nParamValues = 2
492 	 * paramValues = a GValue array holding the instance and the GBoxed* parameter
493 	 * invocationHint = the invocation hint given as the last argument
494 	 * to g_closure_invoke()
495 	 * marshalData = additional data specified when registering the marshaller
496 	 */
497 	public static void marshalVOID__BOXED(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
498 	{
499 		// void g_cclosure_marshal_VOID__BOXED (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
500 		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);
501 	}
502 	
503 	/**
504 	 * A marshaller for a GCClosure with a callback of type
505 	 * void (*callback) (gpointer instance, gpointer arg1, gpointer user_data).
506 	 * Params:
507 	 * closure = the GClosure to which the marshaller belongs
508 	 * returnValue = ignored
509 	 * nParamValues = 2
510 	 * paramValues = a GValue array holding the instance and the gpointer parameter
511 	 * invocationHint = the invocation hint given as the last argument
512 	 * to g_closure_invoke()
513 	 * marshalData = additional data specified when registering the marshaller
514 	 */
515 	public static void marshalVOID__POINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
516 	{
517 		// void g_cclosure_marshal_VOID__POINTER (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
518 		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);
519 	}
520 	
521 	/**
522 	 * A marshaller for a GCClosure with a callback of type
523 	 * void (*callback) (gpointer instance, GObject *arg1, gpointer user_data).
524 	 * Params:
525 	 * closure = the GClosure to which the marshaller belongs
526 	 * returnValue = ignored
527 	 * nParamValues = 2
528 	 * paramValues = a GValue array holding the instance and the GObject* parameter
529 	 * invocationHint = the invocation hint given as the last argument
530 	 * to g_closure_invoke()
531 	 * marshalData = additional data specified when registering the marshaller
532 	 */
533 	public static void marshalVOID__OBJECT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
534 	{
535 		// void g_cclosure_marshal_VOID__OBJECT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
536 		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);
537 	}
538 	
539 	/**
540 	 * A marshaller for a GCClosure with a callback of type
541 	 * void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data).
542 	 * Since 2.26
543 	 * Params:
544 	 * closure = the GClosure to which the marshaller belongs
545 	 * returnValue = ignored
546 	 * nParamValues = 2
547 	 * paramValues = a GValue array holding the instance and the GVariant* parameter
548 	 * invocationHint = the invocation hint given as the last argument
549 	 * to g_closure_invoke()
550 	 * marshalData = additional data specified when registering the marshaller
551 	 */
552 	public static void marshalVOID__VARIANT(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
553 	{
554 		// void g_cclosure_marshal_VOID__VARIANT (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
555 		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);
556 	}
557 	
558 	/**
559 	 * A marshaller for a GCClosure with a callback of type
560 	 * gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data).
561 	 * Params:
562 	 * closure = the GClosure to which the marshaller belongs
563 	 * returnValue = a GValue, which can store the returned string
564 	 * nParamValues = 3
565 	 * paramValues = a GValue array holding instance, arg1 and arg2
566 	 * invocationHint = the invocation hint given as the last argument
567 	 * to g_closure_invoke()
568 	 * marshalData = additional data specified when registering the marshaller
569 	 */
570 	public static void marshalSTRING__OBJECT_POINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
571 	{
572 		// void g_cclosure_marshal_STRING__OBJECT_POINTER  (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
573 		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);
574 	}
575 	
576 	/**
577 	 * A marshaller for a GCClosure with a callback of type
578 	 * void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data).
579 	 * Params:
580 	 * closure = the GClosure to which the marshaller belongs
581 	 * returnValue = ignored
582 	 * nParamValues = 3
583 	 * paramValues = a GValue array holding instance, arg1 and arg2
584 	 * invocationHint = the invocation hint given as the last argument
585 	 * to g_closure_invoke()
586 	 * marshalData = additional data specified when registering the marshaller
587 	 */
588 	public static void marshalVOID__UINT_POINTER(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
589 	{
590 		// void g_cclosure_marshal_VOID__UINT_POINTER  (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
591 		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);
592 	}
593 	
594 	/**
595 	 * A marshaller for a GCClosure with a callback of type
596 	 * gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter
597 	 * denotes a flags type.
598 	 * Params:
599 	 * closure = the GClosure to which the marshaller belongs
600 	 * returnValue = a GValue which can store the returned gboolean
601 	 * nParamValues = 2
602 	 * paramValues = a GValue array holding instance and arg1
603 	 * invocationHint = the invocation hint given as the last argument
604 	 * to g_closure_invoke()
605 	 * marshalData = additional data specified when registering the marshaller
606 	 */
607 	public static void marshalBOOLEAN__FLAGS(Closure closure, Value returnValue, uint nParamValues, Value paramValues, void* invocationHint, void* marshalData)
608 	{
609 		// void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure,  GValue *return_value,  guint n_param_values,  const GValue *param_values,  gpointer invocation_hint,  gpointer marshal_data);
610 		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);
611 	}
612 }