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