diff --git a/gobject/glib-genmarshal.c b/gobject/glib-genmarshal.c index d79ae798a..2283b26c1 100644 --- a/gobject/glib-genmarshal.c +++ b/gobject/glib-genmarshal.c @@ -50,7 +50,12 @@ typedef struct gchar *keyword; /* marhaller list keyword [MY_STRING] */ const gchar *sig_name; /* signature name [STRING] */ const gchar *ctype; /* C type name [gchar*] */ + const gchar *promoted_ctype; /* promoted C type name [gchar*] */ const gchar *getter; /* value getter function [g_value_get_string] */ + const gchar *box; /* value box function [g_strdup] */ + const gchar *unbox; /* value unbox function [g_free] */ + gboolean box_ignores_static; /* Wether the box/unbox functions ignore the static_scope */ + gboolean box_takes_type; /* Wether the box/unbox functions take a type arg */ } InArgument; typedef struct { @@ -122,6 +127,7 @@ static FILE *fout = NULL; static gboolean gen_cheader = FALSE; static gboolean gen_cbody = FALSE; static gboolean gen_internal = FALSE; +static gboolean gen_valist = FALSE; static gboolean skip_ploc = FALSE; static gboolean std_includes = TRUE; static gint exit_status = 0; @@ -184,30 +190,30 @@ static gboolean complete_in_arg (InArgument *iarg) { static const InArgument args[] = { - /* keyword sig_name ctype getter */ - { "VOID", "VOID", "void", NULL, }, - { "BOOLEAN", "BOOLEAN", "gboolean", "g_marshal_value_peek_boolean", }, - { "CHAR", "CHAR", "gchar", "g_marshal_value_peek_char", }, - { "UCHAR", "UCHAR", "guchar", "g_marshal_value_peek_uchar", }, - { "INT", "INT", "gint", "g_marshal_value_peek_int", }, - { "UINT", "UINT", "guint", "g_marshal_value_peek_uint", }, - { "LONG", "LONG", "glong", "g_marshal_value_peek_long", }, - { "ULONG", "ULONG", "gulong", "g_marshal_value_peek_ulong", }, - { "INT64", "INT64", "gint64", "g_marshal_value_peek_int64", }, - { "UINT64", "UINT64", "guint64", "g_marshal_value_peek_uint64", }, - { "ENUM", "ENUM", "gint", "g_marshal_value_peek_enum", }, - { "FLAGS", "FLAGS", "guint", "g_marshal_value_peek_flags", }, - { "FLOAT", "FLOAT", "gfloat", "g_marshal_value_peek_float", }, - { "DOUBLE", "DOUBLE", "gdouble", "g_marshal_value_peek_double", }, - { "STRING", "STRING", "gpointer", "g_marshal_value_peek_string", }, - { "PARAM", "PARAM", "gpointer", "g_marshal_value_peek_param", }, - { "BOXED", "BOXED", "gpointer", "g_marshal_value_peek_boxed", }, - { "POINTER", "POINTER", "gpointer", "g_marshal_value_peek_pointer", }, - { "OBJECT", "OBJECT", "gpointer", "g_marshal_value_peek_object", }, - { "VARIANT", "VARIANT", "gpointer", "g_marshal_value_peek_variant", }, + /* keyword sig_name ctype promoted getter */ + { "VOID", "VOID", "void", "void", NULL, }, + { "BOOLEAN", "BOOLEAN", "gboolean", "gboolean", "g_marshal_value_peek_boolean", }, + { "CHAR", "CHAR", "gchar", "gint", "g_marshal_value_peek_char", }, + { "UCHAR", "UCHAR", "guchar", "guint", "g_marshal_value_peek_uchar", }, + { "INT", "INT", "gint", "gint", "g_marshal_value_peek_int", }, + { "UINT", "UINT", "guint", "guint", "g_marshal_value_peek_uint", }, + { "LONG", "LONG", "glong", "glong", "g_marshal_value_peek_long", }, + { "ULONG", "ULONG", "gulong", "gulong", "g_marshal_value_peek_ulong", }, + { "INT64", "INT64", "gint64", "gint64", "g_marshal_value_peek_int64", }, + { "UINT64", "UINT64", "guint64", "guint64", "g_marshal_value_peek_uint64", }, + { "ENUM", "ENUM", "gint", "gint", "g_marshal_value_peek_enum", }, + { "FLAGS", "FLAGS", "guint", "guint", "g_marshal_value_peek_flags", }, + { "FLOAT", "FLOAT", "gfloat", "gdouble", "g_marshal_value_peek_float", }, + { "DOUBLE", "DOUBLE", "gdouble", "gdouble", "g_marshal_value_peek_double", }, + { "STRING", "STRING", "gpointer", "gpointer", "g_marshal_value_peek_string", "g_strdup", "g_free"}, + { "PARAM", "PARAM", "gpointer", "gpointer", "g_marshal_value_peek_param", "g_param_spec_ref", "g_param_spec_unref"}, + { "BOXED", "BOXED", "gpointer", "gpointer", "g_marshal_value_peek_boxed", "g_boxed_copy", "g_boxed_free", FALSE, TRUE}, + { "POINTER", "POINTER", "gpointer", "gpointer", "g_marshal_value_peek_pointer", }, + { "OBJECT", "OBJECT", "gpointer", "gpointer", "g_marshal_value_peek_object", "g_object_ref", "g_object_unref", TRUE}, + { "VARIANT", "VARIANT", "gpointer", "gpointer", "g_marshal_value_peek_variant", "g_variant_ref_sink", "g_variant_unref"}, /* deprecated: */ - { "NONE", "VOID", "void", NULL, }, - { "BOOL", "BOOLEAN", "gboolean", "g_marshal_value_peek_boolean", }, + { "NONE", "VOID", "void", "void", NULL, }, + { "BOOL", "BOOLEAN", "gboolean", "gboolean", "g_marshal_value_peek_boolean", }, }; guint i; @@ -218,7 +224,12 @@ complete_in_arg (InArgument *iarg) { iarg->sig_name = args[i].sig_name; iarg->ctype = args[i].ctype; + iarg->promoted_ctype = args[i].promoted_ctype; iarg->getter = args[i].getter; + iarg->box = args[i].box; + iarg->unbox = args[i].unbox; + iarg->box_ignores_static = args[i].box_ignores_static; + iarg->box_takes_type = args[i].box_takes_type; return TRUE; } @@ -357,6 +368,7 @@ generate_marshal (const gchar *signame, g_free (tmp); } + /* GValue marshaller */ if (gen_cheader && have_std_marshaller) { g_fprintf (fout, "#define %s_%s\t%s_%s\n", marshaller_prefix, signame, std_marshaller_prefix, signame); @@ -459,6 +471,174 @@ generate_marshal (const gchar *signame, /* cfile marshal footer */ g_fprintf (fout, "}\n"); } + + + /* vararg marshaller */ + if (gen_cheader && gen_valist && have_std_marshaller) + { + g_fprintf (fout, "#define %s_%sv\t%s_%sv\n", marshaller_prefix, signame, std_marshaller_prefix, signame); + } + if (gen_cheader && gen_valist && !have_std_marshaller) + { + ind = g_fprintf (fout, gen_internal ? "G_GNUC_INTERNAL " : "extern "); + ind += g_fprintf (fout, "void "); + ind += g_fprintf (fout, "%s_%sv (", marshaller_prefix, signame); + g_fprintf (fout, "GClosure *closure,\n"); + g_fprintf (fout, "%sGValue *return_value,\n", indent (ind)); + g_fprintf (fout, "%sgpointer instance,\n", indent (ind)); + g_fprintf (fout, "%sva_list args,\n", indent (ind)); + g_fprintf (fout, "%sgpointer marshal_data,\n", indent (ind)); + g_fprintf (fout, "%sint n_params,\n", indent (ind)); + g_fprintf (fout, "%sGType *param_types);\n", indent (ind)); + } + if (gen_cbody && gen_valist && !have_std_marshaller) + { + gint i; + gboolean has_arg; + + g_fprintf (fout, "void\n"); + ind = g_fprintf (fout, "%s_%sv (", marshaller_prefix, signame); + g_fprintf (fout, "GClosure *closure,\n"); + g_fprintf (fout, "%sGValue *return_value,\n", indent (ind)); + g_fprintf (fout, "%sgpointer instance,\n", indent (ind)); + g_fprintf (fout, "%sva_list args,\n", indent (ind)); + g_fprintf (fout, "%sgpointer marshal_data,\n", indent (ind)); + g_fprintf (fout, "%sint n_params,\n", indent (ind)); + g_fprintf (fout, "%sGType *param_types)\n", indent (ind)); + g_fprintf (fout, "{\n"); + + ind = g_fprintf (fout, " typedef %s (*GMarshalFunc_%s) (", sig->rarg->ctype, signame); + g_fprintf (fout, "%s instance", pad ("gpointer")); + for (a = 0, node = sig->args; node; node = node->next) + { + InArgument *iarg = node->data; + + if (iarg->getter) + g_fprintf (fout, ",\n%s%s arg_%d", indent (ind), pad (iarg->ctype), a++); + } + g_fprintf (fout, ",\n%s%s data);\n", indent (ind), pad ("gpointer")); + g_fprintf (fout, " GCClosure *cc = (GCClosure*) closure;\n"); + g_fprintf (fout, " gpointer data1, data2;\n"); + g_fprintf (fout, " GMarshalFunc_%s callback;\n", signame); + has_arg = FALSE; + + i = 0; + for (node = sig->args; node; node = node->next) + { + InArgument *iarg = node->data; + + if (iarg->getter) + { + g_fprintf (fout, " %s arg%i;\n", iarg->ctype, i++); + has_arg = TRUE; + } + } + if (has_arg) + g_fprintf (fout, " va_list args_copy;\n"); + + if (sig->rarg->setter) + g_fprintf (fout, " %s v_return;\n", sig->rarg->ctype); + + if (sig->rarg->setter) + { + g_fprintf (fout, "\n"); + g_fprintf (fout, " g_return_if_fail (return_value != NULL);\n"); + } + + /* cfile marshal data1, data2 and callback setup */ + if (has_arg) + { + g_fprintf (fout, "\n"); + g_fprintf (fout, " va_copy (args_copy, args);\n"); + i = 0; + for (node = sig->args; node; node = node->next) + { + InArgument *iarg = node->data; + + if (iarg->getter) + { + g_fprintf (fout, " arg%i = (%s) va_arg (args_copy, %s);\n", + i, iarg->ctype, iarg->promoted_ctype); + + if (iarg->box != NULL) + { + g_fprintf (fout, " if ("); + if (!iarg->box_ignores_static) + g_fprintf (fout, "(param_types[%i] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && ", i); + g_fprintf (fout, "arg%i != NULL)\n ", i); + if (iarg->box_takes_type) + g_fprintf (fout, + " arg%i = %s (param_types[%i] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg%i);\n", + i, iarg->box, i, i); + else + g_fprintf (fout, + " arg%i = %s (arg%i);\n", + i, iarg->box, i); + } + } + i++; + } + g_fprintf (fout, " va_end (args_copy);\n"); + } + + g_fprintf (fout, "\n"); + /* cfile marshal data1, data2 and callback setup */ + g_fprintf (fout, " if (G_CCLOSURE_SWAP_DATA (closure))\n {\n"); + g_fprintf (fout, " data1 = closure->data;\n"); + g_fprintf (fout, " data2 = instance;\n"); + g_fprintf (fout, " }\n else\n {\n"); + g_fprintf (fout, " data1 = instance;\n"); + g_fprintf (fout, " data2 = closure->data;\n"); + g_fprintf (fout, " }\n"); + g_fprintf (fout, " callback = (GMarshalFunc_%s) (marshal_data ? marshal_data : cc->callback);\n", signame); + + /* cfile marshal callback action */ + g_fprintf (fout, "\n"); + ind = g_fprintf (fout, " %s callback (", sig->rarg->setter ? " v_return =" : ""); + g_fprintf (fout, "data1"); + + i = 0; + for (node = sig->args; node; node = node->next) + { + InArgument *iarg = node->data; + + if (iarg->getter) + g_fprintf (fout, ",\n%sarg%i", indent (ind), i++); + } + g_fprintf (fout, ",\n%sdata2);\n", indent (ind)); + + i = 0; + for (node = sig->args; node; node = node->next) + { + InArgument *iarg = node->data; + + if (iarg->unbox) + { + g_fprintf (fout, " if ("); + if (!iarg->box_ignores_static) + g_fprintf (fout, "(param_types[%i] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && ", i); + g_fprintf (fout, "arg%i != NULL)\n ", i); + if (iarg->box_takes_type) + g_fprintf (fout, + " %s (param_types[%i] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg%i);\n", + iarg->unbox, i, i); + else + g_fprintf (fout, + " %s (arg%i);\n", + iarg->unbox, i); + } + i++; + } + + /* cfile marshal return value storage */ + if (sig->rarg->setter) + { + g_fprintf (fout, "\n"); + g_fprintf (fout, " %s (return_value, v_return);\n", sig->rarg->setter); + } + + g_fprintf (fout, "}\n\n"); + } } static void @@ -802,6 +982,11 @@ parse_args (gint *argc_p, gen_internal = TRUE; argv[i] = NULL; } + else if (strcmp ("--valist-marshallers", argv[i]) == 0) + { + gen_valist = TRUE; + argv[i] = NULL; + } else if ((strcmp ("--prefix", argv[i]) == 0) || (strncmp ("--prefix=", argv[i], 9) == 0)) { @@ -890,6 +1075,7 @@ print_blurb (FILE *bout, g_fprintf (bout, " --skip-source Skip source location comments\n"); g_fprintf (bout, " --stdinc, --nostdinc Include/use standard marshallers\n"); g_fprintf (bout, " --internal Mark generated functions as internal\n"); + g_fprintf (bout, " --valist-marshallers Generate va_list marshallers\n"); g_fprintf (bout, " -v, --version Print version informations\n"); g_fprintf (bout, " --g-fatal-warnings Make warnings fatal (abort)\n"); } diff --git a/gobject/gmarshal.c b/gobject/gmarshal.c index c7bcce45b..ce029ca58 100644 --- a/gobject/gmarshal.c +++ b/gobject/gmarshal.c @@ -85,6 +85,37 @@ g_cclosure_marshal_VOID__VOID (GClosure *closure, callback (data1, data2); } +void +g_cclosure_marshal_VOID__VOIDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__VOID) (gpointer instance, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__VOID callback; + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__VOID) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + data2); +} + /* VOID:BOOLEAN (./gmarshal.list:7) */ void @@ -120,6 +151,45 @@ g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, g_marshal_value_peek_boolean (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__BOOLEAN) (gpointer instance, + gboolean arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__BOOLEAN callback; + gboolean arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gboolean) va_arg (args_copy, gboolean); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__BOOLEAN) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:CHAR (./gmarshal.list:8) */ void @@ -155,6 +225,45 @@ g_cclosure_marshal_VOID__CHAR (GClosure *closure, g_marshal_value_peek_char (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__CHARv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__CHAR) (gpointer instance, + gchar arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__CHAR callback; + gchar arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gchar) va_arg (args_copy, gint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__CHAR) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:UCHAR (./gmarshal.list:9) */ void @@ -190,6 +299,45 @@ g_cclosure_marshal_VOID__UCHAR (GClosure *closure, g_marshal_value_peek_uchar (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__UCHARv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__UCHAR) (gpointer instance, + guchar arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__UCHAR callback; + guchar arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (guchar) va_arg (args_copy, guint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__UCHAR) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:INT (./gmarshal.list:10) */ void @@ -225,6 +373,45 @@ g_cclosure_marshal_VOID__INT (GClosure *closure, g_marshal_value_peek_int (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__INTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__INT) (gpointer instance, + gint arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__INT callback; + gint arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gint) va_arg (args_copy, gint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__INT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:UINT (./gmarshal.list:11) */ void @@ -260,6 +447,45 @@ g_cclosure_marshal_VOID__UINT (GClosure *closure, g_marshal_value_peek_uint (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__UINTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__UINT) (gpointer instance, + guint arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__UINT callback; + guint arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (guint) va_arg (args_copy, guint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__UINT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:LONG (./gmarshal.list:12) */ void @@ -295,6 +521,45 @@ g_cclosure_marshal_VOID__LONG (GClosure *closure, g_marshal_value_peek_long (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__LONGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__LONG) (gpointer instance, + glong arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__LONG callback; + glong arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (glong) va_arg (args_copy, glong); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__LONG) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:ULONG (./gmarshal.list:13) */ void @@ -330,6 +595,45 @@ g_cclosure_marshal_VOID__ULONG (GClosure *closure, g_marshal_value_peek_ulong (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__ULONGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__ULONG) (gpointer instance, + gulong arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__ULONG callback; + gulong arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gulong) va_arg (args_copy, gulong); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__ULONG) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:ENUM (./gmarshal.list:14) */ void @@ -365,6 +669,45 @@ g_cclosure_marshal_VOID__ENUM (GClosure *closure, g_marshal_value_peek_enum (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__ENUMv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__ENUM) (gpointer instance, + gint arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__ENUM callback; + gint arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gint) va_arg (args_copy, gint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__ENUM) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:FLAGS (./gmarshal.list:15) */ void @@ -400,6 +743,45 @@ g_cclosure_marshal_VOID__FLAGS (GClosure *closure, g_marshal_value_peek_flags (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__FLAGS) (gpointer instance, + guint arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__FLAGS callback; + guint arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (guint) va_arg (args_copy, guint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__FLAGS) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:FLOAT (./gmarshal.list:16) */ void @@ -435,6 +817,45 @@ g_cclosure_marshal_VOID__FLOAT (GClosure *closure, g_marshal_value_peek_float (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__FLOATv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__FLOAT) (gpointer instance, + gfloat arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__FLOAT callback; + gfloat arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gfloat) va_arg (args_copy, gdouble); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__FLOAT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:DOUBLE (./gmarshal.list:17) */ void @@ -470,6 +891,45 @@ g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, g_marshal_value_peek_double (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__DOUBLE) (gpointer instance, + gdouble arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__DOUBLE callback; + gdouble arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gdouble) va_arg (args_copy, gdouble); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__DOUBLE) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:STRING (./gmarshal.list:18) */ void @@ -505,6 +965,49 @@ g_cclosure_marshal_VOID__STRING (GClosure *closure, g_marshal_value_peek_string (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__STRINGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__STRING) (gpointer instance, + gpointer arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__STRING callback; + gpointer arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + arg0 = g_strdup (arg0); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__STRING) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + g_free (arg0); +} + /* VOID:PARAM (./gmarshal.list:19) */ void @@ -540,6 +1043,49 @@ g_cclosure_marshal_VOID__PARAM (GClosure *closure, g_marshal_value_peek_param (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__PARAMv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__PARAM) (gpointer instance, + gpointer arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__PARAM callback; + gpointer arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + arg0 = g_param_spec_ref (arg0); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__PARAM) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + g_param_spec_unref (arg0); +} + /* VOID:BOXED (./gmarshal.list:20) */ void @@ -575,6 +1121,49 @@ g_cclosure_marshal_VOID__BOXED (GClosure *closure, g_marshal_value_peek_boxed (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__BOXED) (gpointer instance, + gpointer arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__BOXED callback; + gpointer arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + arg0 = g_boxed_copy (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg0); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__BOXED) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + g_boxed_free (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg0); +} + /* VOID:POINTER (./gmarshal.list:21) */ void @@ -610,6 +1199,45 @@ g_cclosure_marshal_VOID__POINTER (GClosure *closure, g_marshal_value_peek_pointer (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__POINTER) (gpointer instance, + gpointer arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__POINTER callback; + gpointer arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__POINTER) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); +} + /* VOID:OBJECT (./gmarshal.list:22) */ void @@ -645,6 +1273,49 @@ g_cclosure_marshal_VOID__OBJECT (GClosure *closure, g_marshal_value_peek_object (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__OBJECT) (gpointer instance, + gpointer arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__OBJECT callback; + gpointer arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if (arg0 != NULL) + arg0 = g_object_ref (arg0); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__OBJECT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); + if (arg0 != NULL) + g_object_unref (arg0); +} + /* VOID:VARIANT (./gmarshal.list:23) */ void @@ -680,6 +1351,49 @@ g_cclosure_marshal_VOID__VARIANT (GClosure *closure, g_marshal_value_peek_variant (param_values + 1), data2); } +void +g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__VARIANT) (gpointer instance, + gpointer arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__VARIANT callback; + gpointer arg0; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + arg0 = g_variant_ref_sink (arg0); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__VARIANT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + data2); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + g_variant_unref (arg0); +} + /* VOID:UINT,POINTER (./gmarshal.list:26) */ void @@ -717,6 +1431,49 @@ g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, g_marshal_value_peek_pointer (param_values + 2), data2); } +void +g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef void (*GMarshalFunc_VOID__UINT_POINTER) (gpointer instance, + guint arg_0, + gpointer arg_1, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_VOID__UINT_POINTER callback; + guint arg0; + gpointer arg1; + va_list args_copy; + + va_copy (args_copy, args); + arg0 = (guint) va_arg (args_copy, guint); + arg1 = (gpointer) va_arg (args_copy, gpointer); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__UINT_POINTER) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + arg0, + arg1, + data2); +} + /* BOOL:FLAGS (./gmarshal.list:27) */ void @@ -756,6 +1513,50 @@ g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, g_value_set_boolean (return_value, v_return); } +void +g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef gboolean (*GMarshalFunc_BOOLEAN__FLAGS) (gpointer instance, + guint arg_0, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_BOOLEAN__FLAGS callback; + guint arg0; + va_list args_copy; + gboolean v_return; + + g_return_if_fail (return_value != NULL); + + va_copy (args_copy, args); + arg0 = (guint) va_arg (args_copy, guint); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_BOOLEAN__FLAGS) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + arg0, + data2); + + g_value_set_boolean (return_value, v_return); +} + /* STRING:OBJECT,POINTER (./gmarshal.list:28) */ void @@ -797,6 +1598,58 @@ g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure, g_value_take_string (return_value, v_return); } +void +g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef gchar* (*GMarshalFunc_STRING__OBJECT_POINTER) (gpointer instance, + gpointer arg_0, + gpointer arg_1, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_STRING__OBJECT_POINTER callback; + gpointer arg0; + gpointer arg1; + va_list args_copy; + gchar* v_return; + + g_return_if_fail (return_value != NULL); + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if (arg0 != NULL) + arg0 = g_object_ref (arg0); + arg1 = (gpointer) va_arg (args_copy, gpointer); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_STRING__OBJECT_POINTER) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + arg0, + arg1, + data2); + if (arg0 != NULL) + g_object_unref (arg0); + + g_value_take_string (return_value, v_return); +} + /* BOOL:BOXED,BOXED (./gmarshal.list:29) */ void @@ -838,4 +1691,60 @@ g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, g_value_set_boolean (return_value, v_return); } +void +g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types) +{ + typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_BOXED) (gpointer instance, + gpointer arg_0, + gpointer arg_1, + gpointer data); + GCClosure *cc = (GCClosure*) closure; + gpointer data1, data2; + GMarshalFunc_BOOLEAN__BOXED_BOXED callback; + gpointer arg0; + gpointer arg1; + va_list args_copy; + gboolean v_return; + + g_return_if_fail (return_value != NULL); + + va_copy (args_copy, args); + arg0 = (gpointer) va_arg (args_copy, gpointer); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + arg0 = g_boxed_copy (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg0); + arg1 = (gpointer) va_arg (args_copy, gpointer); + if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL) + arg1 = g_boxed_copy (param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg1); + va_end (args_copy); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = instance; + } + else + { + data1 = instance; + data2 = closure->data; + } + callback = (GMarshalFunc_BOOLEAN__BOXED_BOXED) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + arg0, + arg1, + data2); + if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL) + g_boxed_free (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg0); + if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL) + g_boxed_free (param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg1); + + g_value_set_boolean (return_value, v_return); +} + diff --git a/gobject/gmarshal.h b/gobject/gmarshal.h index 1238c0227..0c21be687 100644 --- a/gobject/gmarshal.h +++ b/gobject/gmarshal.h @@ -11,6 +11,13 @@ extern void g_cclosure_marshal_VOID__VOID (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__VOIDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:BOOLEAN (./gmarshal.list:7) */ extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, @@ -19,6 +26,13 @@ extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:CHAR (./gmarshal.list:8) */ extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure, @@ -27,6 +41,13 @@ extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__CHARv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:UCHAR (./gmarshal.list:9) */ extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, @@ -35,6 +56,13 @@ extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__UCHARv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:INT (./gmarshal.list:10) */ extern void g_cclosure_marshal_VOID__INT (GClosure *closure, @@ -43,6 +71,13 @@ extern void g_cclosure_marshal_VOID__INT (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__INTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:UINT (./gmarshal.list:11) */ extern void g_cclosure_marshal_VOID__UINT (GClosure *closure, @@ -51,6 +86,13 @@ extern void g_cclosure_marshal_VOID__UINT (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__UINTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:LONG (./gmarshal.list:12) */ extern void g_cclosure_marshal_VOID__LONG (GClosure *closure, @@ -59,6 +101,13 @@ extern void g_cclosure_marshal_VOID__LONG (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__LONGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:ULONG (./gmarshal.list:13) */ extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure, @@ -67,6 +116,13 @@ extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__ULONGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:ENUM (./gmarshal.list:14) */ extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure, @@ -75,6 +131,13 @@ extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__ENUMv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:FLAGS (./gmarshal.list:15) */ extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, @@ -83,6 +146,13 @@ extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:FLOAT (./gmarshal.list:16) */ extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, @@ -91,6 +161,13 @@ extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__FLOATv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:DOUBLE (./gmarshal.list:17) */ extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, @@ -99,6 +176,13 @@ extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:STRING (./gmarshal.list:18) */ extern void g_cclosure_marshal_VOID__STRING (GClosure *closure, @@ -107,6 +191,13 @@ extern void g_cclosure_marshal_VOID__STRING (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__STRINGv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:PARAM (./gmarshal.list:19) */ extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure, @@ -115,6 +206,13 @@ extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__PARAMv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:BOXED (./gmarshal.list:20) */ extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure, @@ -123,6 +221,13 @@ extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:POINTER (./gmarshal.list:21) */ extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure, @@ -131,6 +236,13 @@ extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:OBJECT (./gmarshal.list:22) */ extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, @@ -139,6 +251,13 @@ extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:VARIANT (./gmarshal.list:23) */ extern void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, @@ -147,6 +266,13 @@ extern void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* VOID:UINT,POINTER (./gmarshal.list:26) */ extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, @@ -155,6 +281,13 @@ extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* BOOL:FLAGS (./gmarshal.list:27) */ extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, @@ -163,6 +296,13 @@ extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); #define g_cclosure_marshal_BOOL__FLAGS g_cclosure_marshal_BOOLEAN__FLAGS /* STRING:OBJECT,POINTER (./gmarshal.list:28) */ @@ -172,6 +312,13 @@ extern void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); /* BOOL:BOXED,BOXED (./gmarshal.list:29) */ extern void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, @@ -180,6 +327,13 @@ extern void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); +extern void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure, + GValue *return_value, + gpointer instance, + va_list args, + gpointer marshal_data, + int n_params, + GType *param_types); #define g_cclosure_marshal_BOOL__BOXED_BOXED g_cclosure_marshal_BOOLEAN__BOXED_BOXED G_END_DECLS