[glib/signal-performance: 5/10] Support generating va marshallers in glib-genmarshal
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/signal-performance: 5/10] Support generating va marshallers in glib-genmarshal
- Date: Fri, 2 Mar 2012 16:13:49 +0000 (UTC)
commit 57051905f9279d2c8c27e9e50154c9565708f4d5
Author: Alexander Larsson <alexl redhat com>
Date: Wed Feb 22 19:32:36 2012 +0100
Support generating va marshallers in glib-genmarshal
https://bugzilla.gnome.org/show_bug.cgi?id=661140
gobject/glib-genmarshal.c | 232 +++++++++++--
gobject/gmarshal.c | 909 +++++++++++++++++++++++++++++++++++++++++++++
gobject/gmarshal.h | 154 ++++++++
3 files changed, 1272 insertions(+), 23 deletions(-)
---
diff --git a/gobject/glib-genmarshal.c b/gobject/glib-genmarshal.c
index d79ae79..2283b26 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 c7bcce4..ce029ca 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 1238c02..0c21be6 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]