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