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 * A GClosure represents a callback supplied by the programmer. It 76 * will generally comprise a function of some kind and a marshaller 77 * used to call it. It is the reponsibility of the marshaller to 78 * convert the arguments for the invocation from GValues into 79 * a suitable form, perform the callback on the converted arguments, 80 * and transform the return value back into a GValue. 81 * 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 * 89 * Within GObject, closures play an important role in the 90 * implementation of signals. When a signal is registered, the 91 * c_marshaller argument to g_signal_new() specifies the default C 92 * marshaller for any closure which is connected to this 93 * signal. GObject provides a number of C marshallers for this 94 * purpose, see the g_cclosure_marshal_*() functions. Additional C 95 * marshallers can be generated with the glib-genmarshal utility. Closures 96 * can be explicitly connected to signals with 97 * g_signal_connect_closure(), but it usually more convenient to let 98 * GObject create a closure automatically by using one of the 99 * g_signal_connect_*() functions which take a callback function/user 100 * data pair. 101 * 102 * Using closures has a number of important advantages over a simple 103 * callback function/data pointer combination: 104 * 105 * Closures allow the callee to get the types of the callback parameters, 106 * which means that language bindings don't have to write individual glue 107 * for each callback type. 108 * 109 * The reference counting of GClosure makes it easy to handle reentrancy 110 * right; if a callback is removed while it is being invoked, the closure 111 * and its parameters won't be freed until the invocation finishes. 112 * 113 * g_closure_invalidate() and invalidation notifiers allow callbacks to be 114 * automatically removed when the objects they point to go away. 115 */ 116 public class CClosure 117 { 118 119 /** the main Gtk struct */ 120 protected GCClosure* gCClosure; 121 122 123 public GCClosure* getCClosureStruct() 124 { 125 return gCClosure; 126 } 127 128 129 /** the main Gtk struct as a void* */ 130 protected void* getStruct() 131 { 132 return cast(void*)gCClosure; 133 } 134 135 /** 136 * Sets our main struct and passes it to the parent class 137 */ 138 public this (GCClosure* gCClosure) 139 { 140 this.gCClosure = gCClosure; 141 } 142 143 /** 144 */ 145 146 /** 147 * Creates a new closure which invokes callback_func with user_data as 148 * the last parameter. 149 * Params: 150 * callbackFunc = the function to invoke 151 * userData = user data to pass to callback_func 152 * destroyData = destroy notify to be called when user_data is no longer used 153 * Returns: a new GCClosure 154 */ 155 public static Closure newCClosure(GCallback callbackFunc, void* userData, GClosureNotify destroyData) 156 { 157 // GClosure * g_cclosure_new (GCallback callback_func, gpointer user_data, GClosureNotify destroy_data); 158 auto p = g_cclosure_new(callbackFunc, userData, destroyData); 159 160 if(p is null) 161 { 162 return null; 163 } 164 165 return ObjectG.getDObject!(Closure)(cast(GClosure*) p); 166 } 167 168 /** 169 * Creates a new closure which invokes callback_func with user_data as 170 * the first parameter. 171 * Params: 172 * callbackFunc = the function to invoke 173 * userData = user data to pass to callback_func 174 * destroyData = destroy notify to be called when user_data is no longer used 175 * Returns: a new GCClosure. [transfer full] 176 */ 177 public static Closure newSwap(GCallback callbackFunc, void* userData, GClosureNotify destroyData) 178 { 179 // GClosure * g_cclosure_new_swap (GCallback callback_func, gpointer user_data, GClosureNotify destroy_data); 180 auto p = g_cclosure_new_swap(callbackFunc, userData, destroyData); 181 182 if(p is null) 183 { 184 return null; 185 } 186 187 return ObjectG.getDObject!(Closure)(cast(GClosure*) p); 188 } 189 190 /** 191 * A variant of g_cclosure_new() which uses object as user_data and 192 * calls g_object_watch_closure() on object and the created 193 * closure. This function is useful when you have a callback closely 194 * associated with a GObject, and want the callback to no longer run 195 * after the object is is freed. 196 * Params: 197 * callbackFunc = the function to invoke 198 * object = a GObject pointer to pass to callback_func 199 * Returns: a new GCClosure 200 */ 201 public static Closure newObject(GCallback callbackFunc, ObjectG object) 202 { 203 // GClosure * g_cclosure_new_object (GCallback callback_func, GObject *object); 204 auto p = g_cclosure_new_object(callbackFunc, (object is null) ? null : object.getObjectGStruct()); 205 206 if(p is null) 207 { 208 return null; 209 } 210 211 return ObjectG.getDObject!(Closure)(cast(GClosure*) p); 212 } 213 214 /** 215 * A variant of g_cclosure_new_swap() which uses object as user_data 216 * and calls g_object_watch_closure() on object and the created 217 * closure. This function is useful when you have a callback closely 218 * associated with a GObject, and want the callback to no longer run 219 * after the object is is freed. 220 * Params: 221 * callbackFunc = the function to invoke 222 * object = a GObject pointer to pass to callback_func 223 * Returns: a new GCClosure 224 */ 225 public static Closure newObjectSwap(GCallback callbackFunc, ObjectG object) 226 { 227 // GClosure * g_cclosure_new_object_swap (GCallback callback_func, GObject *object); 228 auto p = g_cclosure_new_object_swap(callbackFunc, (object is null) ? null : object.getObjectGStruct()); 229 230 if(p is null) 231 { 232 return null; 233 } 234 235 return ObjectG.getDObject!(Closure)(cast(GClosure*) p); 236 } 237 238 /** 239 * A generic marshaller function implemented via libffi. 240 * Since 2.30 241 * Params: 242 * closure = A GClosure. 243 * returnGvalue = A GValue to store the return value. May be NULL 244 * if the callback of closure doesn't return a value. 245 * paramValues = An array of GValues holding the arguments 246 * on which to invoke the callback of closure. 247 * invocationHint = The invocation hint given as the last argument to 248 * g_closure_invoke(). 249 * marshalData = Additional data specified when registering the 250 * marshaller, see g_closure_set_marshal() and 251 * g_closure_set_meta_marshal() 252 */ 253 public static void marshalGeneric(Closure closure, Value returnGvalue, GValue[] paramValues, void* invocationHint, void* marshalData) 254 { 255 // void g_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); 256 g_cclosure_marshal_generic((closure is null) ? null : closure.getClosureStruct(), (returnGvalue is null) ? null : returnGvalue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 257 } 258 259 /** 260 * A marshaller for a GCClosure with a callback of type 261 * void (*callback) (gpointer instance, gpointer user_data). 262 * Params: 263 * closure = the GClosure to which the marshaller belongs 264 * returnValue = ignored 265 * paramValues = a GValue array holding only the instance 266 * invocationHint = the invocation hint given as the last argument 267 * to g_closure_invoke() 268 * marshalData = additional data specified when registering the marshaller 269 */ 270 public static void marshalVOID__VOID(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 271 { 272 // 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); 273 g_cclosure_marshal_VOID__VOID((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 274 } 275 276 /** 277 * A marshaller for a GCClosure with a callback of type 278 * void (*callback) (gpointer instance, gboolean arg1, gpointer user_data). 279 * Params: 280 * closure = the GClosure to which the marshaller belongs 281 * returnValue = ignored 282 * paramValues = a GValue array holding the instance and the gboolean parameter 283 * invocationHint = the invocation hint given as the last argument 284 * to g_closure_invoke() 285 * marshalData = additional data specified when registering the marshaller 286 */ 287 public static void marshalVOID__BOOLEAN(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 288 { 289 // 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); 290 g_cclosure_marshal_VOID__BOOLEAN((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 291 } 292 293 /** 294 * A marshaller for a GCClosure with a callback of type 295 * void (*callback) (gpointer instance, gchar arg1, gpointer user_data). 296 * Params: 297 * closure = the GClosure to which the marshaller belongs 298 * returnValue = ignored 299 * paramValues = a GValue array holding the instance and the gchar parameter 300 * invocationHint = the invocation hint given as the last argument 301 * to g_closure_invoke() 302 * marshalData = additional data specified when registering the marshaller 303 */ 304 public static void marshalVOID__CHAR(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 305 { 306 // 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); 307 g_cclosure_marshal_VOID__CHAR((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 308 } 309 310 /** 311 * A marshaller for a GCClosure with a callback of type 312 * void (*callback) (gpointer instance, guchar arg1, gpointer user_data). 313 * Params: 314 * closure = the GClosure to which the marshaller belongs 315 * returnValue = ignored 316 * paramValues = a GValue array holding the instance and the guchar parameter 317 * invocationHint = the invocation hint given as the last argument 318 * to g_closure_invoke() 319 * marshalData = additional data specified when registering the marshaller 320 */ 321 public static void marshalVOID__UCHAR(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 322 { 323 // 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); 324 g_cclosure_marshal_VOID__UCHAR((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 325 } 326 327 /** 328 * A marshaller for a GCClosure with a callback of type 329 * void (*callback) (gpointer instance, gint arg1, gpointer user_data). 330 * Params: 331 * closure = the GClosure to which the marshaller belongs 332 * returnValue = ignored 333 * paramValues = a GValue array holding the instance and the gint parameter 334 * invocationHint = the invocation hint given as the last argument 335 * to g_closure_invoke() 336 * marshalData = additional data specified when registering the marshaller 337 */ 338 public static void marshalVOID__INT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 339 { 340 // 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); 341 g_cclosure_marshal_VOID__INT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 342 } 343 344 /** 345 * A marshaller for a GCClosure with a callback of type 346 * void (*callback) (gpointer instance, guint arg1, gpointer user_data). 347 * Params: 348 * closure = the GClosure to which the marshaller belongs 349 * returnValue = ignored 350 * paramValues = a GValue array holding the instance and the guint parameter 351 * invocationHint = the invocation hint given as the last argument 352 * to g_closure_invoke() 353 * marshalData = additional data specified when registering the marshaller 354 */ 355 public static void marshalVOID__UINT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 356 { 357 // 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); 358 g_cclosure_marshal_VOID__UINT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 359 } 360 361 /** 362 * A marshaller for a GCClosure with a callback of type 363 * void (*callback) (gpointer instance, glong arg1, gpointer user_data). 364 * Params: 365 * closure = the GClosure to which the marshaller belongs 366 * returnValue = ignored 367 * paramValues = a GValue array holding the instance and the glong parameter 368 * invocationHint = the invocation hint given as the last argument 369 * to g_closure_invoke() 370 * marshalData = additional data specified when registering the marshaller 371 */ 372 public static void marshalVOID__LONG(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 373 { 374 // 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); 375 g_cclosure_marshal_VOID__LONG((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 376 } 377 378 /** 379 * A marshaller for a GCClosure with a callback of type 380 * void (*callback) (gpointer instance, gulong arg1, gpointer user_data). 381 * Params: 382 * closure = the GClosure to which the marshaller belongs 383 * returnValue = ignored 384 * paramValues = a GValue array holding the instance and the gulong 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__ULONG(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 390 { 391 // 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); 392 g_cclosure_marshal_VOID__ULONG((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, 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 an enumeration type.. 398 * Params: 399 * closure = the GClosure to which the marshaller belongs 400 * returnValue = ignored 401 * paramValues = a GValue array holding the instance and the enumeration parameter 402 * invocationHint = the invocation hint given as the last argument 403 * to g_closure_invoke() 404 * marshalData = additional data specified when registering the marshaller 405 */ 406 public static void marshalVOID__ENUM(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 407 { 408 // 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); 409 g_cclosure_marshal_VOID__ENUM((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 410 } 411 412 /** 413 * A marshaller for a GCClosure with a callback of type 414 * void (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter denotes a flags type. 415 * Params: 416 * closure = the GClosure to which the marshaller belongs 417 * returnValue = ignored 418 * paramValues = a GValue array holding the instance and the flags parameter 419 * invocationHint = the invocation hint given as the last argument 420 * to g_closure_invoke() 421 * marshalData = additional data specified when registering the marshaller 422 */ 423 public static void marshalVOID__FLAGS(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 424 { 425 // 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); 426 g_cclosure_marshal_VOID__FLAGS((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 427 } 428 429 /** 430 * A marshaller for a GCClosure with a callback of type 431 * void (*callback) (gpointer instance, gfloat arg1, gpointer user_data). 432 * Params: 433 * closure = the GClosure to which the marshaller belongs 434 * returnValue = ignored 435 * paramValues = a GValue array holding the instance and the gfloat parameter 436 * invocationHint = the invocation hint given as the last argument 437 * to g_closure_invoke() 438 * marshalData = additional data specified when registering the marshaller 439 */ 440 public static void marshalVOID__FLOAT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 441 { 442 // 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); 443 g_cclosure_marshal_VOID__FLOAT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 444 } 445 446 /** 447 * A marshaller for a GCClosure with a callback of type 448 * void (*callback) (gpointer instance, gdouble arg1, gpointer user_data). 449 * Params: 450 * closure = the GClosure to which the marshaller belongs 451 * returnValue = ignored 452 * paramValues = a GValue array holding the instance and the gdouble parameter 453 * invocationHint = the invocation hint given as the last argument 454 * to g_closure_invoke() 455 * marshalData = additional data specified when registering the marshaller 456 */ 457 public static void marshalVOID__DOUBLE(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 458 { 459 // 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); 460 g_cclosure_marshal_VOID__DOUBLE((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 461 } 462 463 /** 464 * A marshaller for a GCClosure with a callback of type 465 * void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data). 466 * Params: 467 * closure = the GClosure to which the marshaller belongs 468 * returnValue = ignored 469 * paramValues = a GValue array holding the instance and the gchar* parameter 470 * invocationHint = the invocation hint given as the last argument 471 * to g_closure_invoke() 472 * marshalData = additional data specified when registering the marshaller 473 */ 474 public static void marshalVOID__STRING(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 475 { 476 // 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); 477 g_cclosure_marshal_VOID__STRING((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 478 } 479 480 /** 481 * A marshaller for a GCClosure with a callback of type 482 * void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data). 483 * Params: 484 * closure = the GClosure to which the marshaller belongs 485 * returnValue = ignored 486 * paramValues = a GValue array holding the instance and the GParamSpec* parameter 487 * invocationHint = the invocation hint given as the last argument 488 * to g_closure_invoke() 489 * marshalData = additional data specified when registering the marshaller 490 */ 491 public static void marshalVOID__PARAM(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 492 { 493 // 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); 494 g_cclosure_marshal_VOID__PARAM((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 495 } 496 497 /** 498 * A marshaller for a GCClosure with a callback of type 499 * void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data). 500 * Params: 501 * closure = the GClosure to which the marshaller belongs 502 * returnValue = ignored 503 * paramValues = a GValue array holding the instance and the GBoxed* parameter 504 * invocationHint = the invocation hint given as the last argument 505 * to g_closure_invoke() 506 * marshalData = additional data specified when registering the marshaller 507 */ 508 public static void marshalVOID__BOXED(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 509 { 510 // 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); 511 g_cclosure_marshal_VOID__BOXED((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 512 } 513 514 /** 515 * A marshaller for a GCClosure with a callback of type 516 * void (*callback) (gpointer instance, gpointer arg1, gpointer user_data). 517 * Params: 518 * closure = the GClosure to which the marshaller belongs 519 * returnValue = ignored 520 * paramValues = a GValue array holding the instance and the gpointer parameter 521 * invocationHint = the invocation hint given as the last argument 522 * to g_closure_invoke() 523 * marshalData = additional data specified when registering the marshaller 524 */ 525 public static void marshalVOID__POINTER(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 526 { 527 // 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); 528 g_cclosure_marshal_VOID__POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 529 } 530 531 /** 532 * A marshaller for a GCClosure with a callback of type 533 * void (*callback) (gpointer instance, GObject *arg1, gpointer user_data). 534 * Params: 535 * closure = the GClosure to which the marshaller belongs 536 * returnValue = ignored 537 * paramValues = a GValue array holding the instance and the GObject* parameter 538 * invocationHint = the invocation hint given as the last argument 539 * to g_closure_invoke() 540 * marshalData = additional data specified when registering the marshaller 541 */ 542 public static void marshalVOID__OBJECT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 543 { 544 // 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); 545 g_cclosure_marshal_VOID__OBJECT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 546 } 547 548 /** 549 * A marshaller for a GCClosure with a callback of type 550 * void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data). 551 * Since 2.26 552 * Params: 553 * closure = the GClosure to which the marshaller belongs 554 * returnValue = ignored 555 * paramValues = a GValue array holding the instance and the GVariant* parameter 556 * invocationHint = the invocation hint given as the last argument 557 * to g_closure_invoke() 558 * marshalData = additional data specified when registering the marshaller 559 */ 560 public static void marshalVOID__VARIANT(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 561 { 562 // 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); 563 g_cclosure_marshal_VOID__VARIANT((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 564 } 565 566 /** 567 * A marshaller for a GCClosure with a callback of type 568 * gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data). 569 * Params: 570 * closure = the GClosure to which the marshaller belongs 571 * returnValue = a GValue, which can store the returned string 572 * paramValues = a GValue array holding instance, arg1 and arg2 573 * invocationHint = the invocation hint given as the last argument 574 * to g_closure_invoke() 575 * marshalData = additional data specified when registering the marshaller 576 */ 577 public static void marshalSTRING__OBJECT_POINTER(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 578 { 579 // 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); 580 g_cclosure_marshal_STRING__OBJECT_POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 581 } 582 583 /** 584 * A marshaller for a GCClosure with a callback of type 585 * void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data). 586 * Params: 587 * closure = the GClosure to which the marshaller belongs 588 * returnValue = ignored 589 * paramValues = a GValue array holding instance, arg1 and arg2 590 * invocationHint = the invocation hint given as the last argument 591 * to g_closure_invoke() 592 * marshalData = additional data specified when registering the marshaller 593 */ 594 public static void marshalVOID__UINT_POINTER(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 595 { 596 // 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); 597 g_cclosure_marshal_VOID__UINT_POINTER((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 598 } 599 600 /** 601 * A marshaller for a GCClosure with a callback of type 602 * gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data) where the gint parameter 603 * denotes a flags type. 604 * Params: 605 * closure = the GClosure to which the marshaller belongs 606 * returnValue = a GValue which can store the returned gboolean 607 * paramValues = a GValue array holding instance and arg1 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 marshalBOOLEAN__FLAGS(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 613 { 614 // 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); 615 g_cclosure_marshal_BOOLEAN__FLAGS((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 616 } 617 618 /** 619 */ 620 public static void marshalBOOLEAN__BOXED_BOXED(Closure closure, Value returnValue, GValue[] paramValues, void* invocationHint, void* marshalData) 621 { 622 // void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); 623 g_cclosure_marshal_BOOLEAN__BOXED_BOXED((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), cast(int) paramValues.length, paramValues.ptr, invocationHint, marshalData); 624 } 625 626 /** 627 */ 628 public static void marshalGenericVa(Closure closure, Value returnValue, void* instanc, void* argsList, void* marshalData, GType[] paramTypes) 629 { 630 // void g_cclosure_marshal_generic_va (GClosure *closure, GValue *return_value, gpointer instance, va_list args_list, gpointer marshal_data, int n_params, GType *param_types); 631 g_cclosure_marshal_generic_va((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, argsList, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 632 } 633 634 /** 635 */ 636 public static void marshalVOID__VOIDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 637 { 638 // void g_cclosure_marshal_VOID__VOIDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 639 g_cclosure_marshal_VOID__VOIDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 640 } 641 642 /** 643 */ 644 public static void marshalVOID__BOOLEANv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 645 { 646 // void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 647 g_cclosure_marshal_VOID__BOOLEANv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 648 } 649 650 /** 651 */ 652 public static void marshalVOID__CHARv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 653 { 654 // void g_cclosure_marshal_VOID__CHARv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 655 g_cclosure_marshal_VOID__CHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 656 } 657 658 /** 659 */ 660 public static void marshalVOID__UCHARv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 661 { 662 // void g_cclosure_marshal_VOID__UCHARv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 663 g_cclosure_marshal_VOID__UCHARv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 664 } 665 666 /** 667 */ 668 public static void marshalVOID__INTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 669 { 670 // void g_cclosure_marshal_VOID__INTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 671 g_cclosure_marshal_VOID__INTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 672 } 673 674 /** 675 */ 676 public static void marshalVOID__UINTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 677 { 678 // void g_cclosure_marshal_VOID__UINTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 679 g_cclosure_marshal_VOID__UINTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 680 } 681 682 /** 683 */ 684 public static void marshalVOID__LONGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 685 { 686 // void g_cclosure_marshal_VOID__LONGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 687 g_cclosure_marshal_VOID__LONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 688 } 689 690 /** 691 */ 692 public static void marshalVOID__ULONGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 693 { 694 // void g_cclosure_marshal_VOID__ULONGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 695 g_cclosure_marshal_VOID__ULONGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 696 } 697 698 /** 699 */ 700 public static void marshalVOID__ENUMv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 701 { 702 // void g_cclosure_marshal_VOID__ENUMv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 703 g_cclosure_marshal_VOID__ENUMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 704 } 705 706 /** 707 */ 708 public static void marshalVOID__FLAGSv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 709 { 710 // void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 711 g_cclosure_marshal_VOID__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 712 } 713 714 /** 715 */ 716 public static void marshalVOID__FLOATv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 717 { 718 // void g_cclosure_marshal_VOID__FLOATv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 719 g_cclosure_marshal_VOID__FLOATv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 720 } 721 722 /** 723 */ 724 public static void marshalVOID__DOUBLEv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 725 { 726 // void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 727 g_cclosure_marshal_VOID__DOUBLEv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 728 } 729 730 /** 731 */ 732 public static void marshalVOID__STRINGv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 733 { 734 // void g_cclosure_marshal_VOID__STRINGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 735 g_cclosure_marshal_VOID__STRINGv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 736 } 737 738 /** 739 */ 740 public static void marshalVOID__PARAMv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 741 { 742 // void g_cclosure_marshal_VOID__PARAMv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 743 g_cclosure_marshal_VOID__PARAMv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 744 } 745 746 /** 747 */ 748 public static void marshalVOID__BOXEDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 749 { 750 // void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 751 g_cclosure_marshal_VOID__BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 752 } 753 754 /** 755 */ 756 public static void marshalVOID__POINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 757 { 758 // void g_cclosure_marshal_VOID__POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 759 g_cclosure_marshal_VOID__POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 760 } 761 762 /** 763 */ 764 public static void marshalVOID__OBJECTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 765 { 766 // void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 767 g_cclosure_marshal_VOID__OBJECTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 768 } 769 770 /** 771 */ 772 public static void marshalVOID__VARIANTv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 773 { 774 // void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 775 g_cclosure_marshal_VOID__VARIANTv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 776 } 777 778 /** 779 */ 780 public static void marshalSTRING__OBJECT_POINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 781 { 782 // void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 783 g_cclosure_marshal_STRING__OBJECT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 784 } 785 786 /** 787 */ 788 public static void marshalVOID__UINT_POINTERv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 789 { 790 // void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 791 g_cclosure_marshal_VOID__UINT_POINTERv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 792 } 793 794 /** 795 */ 796 public static void marshalBOOLEAN__FLAGSv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, int nParams, GType* paramTypes) 797 { 798 // void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 799 g_cclosure_marshal_BOOLEAN__FLAGSv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, nParams, paramTypes); 800 } 801 802 /** 803 */ 804 public static void marshalBOOLEAN__BOXED_BOXEDv(Closure closure, Value returnValue, void* instanc, void* args, void* marshalData, GType[] paramTypes) 805 { 806 // void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types); 807 g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv((closure is null) ? null : closure.getClosureStruct(), (returnValue is null) ? null : returnValue.getValueStruct(), instanc, args, marshalData, cast(int) paramTypes.length, paramTypes.ptr); 808 } 809 }