Support generating va marshallers in glib-genmarshal

https://bugzilla.gnome.org/show_bug.cgi?id=661140
This commit is contained in:
Alexander Larsson 2012-02-22 19:32:36 +01:00
parent 588af03a28
commit 57051905f9
3 changed files with 1272 additions and 23 deletions

View File

@ -50,7 +50,12 @@ typedef struct
gchar *keyword; /* marhaller list keyword [MY_STRING] */ gchar *keyword; /* marhaller list keyword [MY_STRING] */
const gchar *sig_name; /* signature name [STRING] */ const gchar *sig_name; /* signature name [STRING] */
const gchar *ctype; /* C type name [gchar*] */ 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 *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; } InArgument;
typedef struct typedef struct
{ {
@ -122,6 +127,7 @@ static FILE *fout = NULL;
static gboolean gen_cheader = FALSE; static gboolean gen_cheader = FALSE;
static gboolean gen_cbody = FALSE; static gboolean gen_cbody = FALSE;
static gboolean gen_internal = FALSE; static gboolean gen_internal = FALSE;
static gboolean gen_valist = FALSE;
static gboolean skip_ploc = FALSE; static gboolean skip_ploc = FALSE;
static gboolean std_includes = TRUE; static gboolean std_includes = TRUE;
static gint exit_status = 0; static gint exit_status = 0;
@ -184,30 +190,30 @@ static gboolean
complete_in_arg (InArgument *iarg) complete_in_arg (InArgument *iarg)
{ {
static const InArgument args[] = { static const InArgument args[] = {
/* keyword sig_name ctype getter */ /* keyword sig_name ctype promoted getter */
{ "VOID", "VOID", "void", NULL, }, { "VOID", "VOID", "void", "void", NULL, },
{ "BOOLEAN", "BOOLEAN", "gboolean", "g_marshal_value_peek_boolean", }, { "BOOLEAN", "BOOLEAN", "gboolean", "gboolean", "g_marshal_value_peek_boolean", },
{ "CHAR", "CHAR", "gchar", "g_marshal_value_peek_char", }, { "CHAR", "CHAR", "gchar", "gint", "g_marshal_value_peek_char", },
{ "UCHAR", "UCHAR", "guchar", "g_marshal_value_peek_uchar", }, { "UCHAR", "UCHAR", "guchar", "guint", "g_marshal_value_peek_uchar", },
{ "INT", "INT", "gint", "g_marshal_value_peek_int", }, { "INT", "INT", "gint", "gint", "g_marshal_value_peek_int", },
{ "UINT", "UINT", "guint", "g_marshal_value_peek_uint", }, { "UINT", "UINT", "guint", "guint", "g_marshal_value_peek_uint", },
{ "LONG", "LONG", "glong", "g_marshal_value_peek_long", }, { "LONG", "LONG", "glong", "glong", "g_marshal_value_peek_long", },
{ "ULONG", "ULONG", "gulong", "g_marshal_value_peek_ulong", }, { "ULONG", "ULONG", "gulong", "gulong", "g_marshal_value_peek_ulong", },
{ "INT64", "INT64", "gint64", "g_marshal_value_peek_int64", }, { "INT64", "INT64", "gint64", "gint64", "g_marshal_value_peek_int64", },
{ "UINT64", "UINT64", "guint64", "g_marshal_value_peek_uint64", }, { "UINT64", "UINT64", "guint64", "guint64", "g_marshal_value_peek_uint64", },
{ "ENUM", "ENUM", "gint", "g_marshal_value_peek_enum", }, { "ENUM", "ENUM", "gint", "gint", "g_marshal_value_peek_enum", },
{ "FLAGS", "FLAGS", "guint", "g_marshal_value_peek_flags", }, { "FLAGS", "FLAGS", "guint", "guint", "g_marshal_value_peek_flags", },
{ "FLOAT", "FLOAT", "gfloat", "g_marshal_value_peek_float", }, { "FLOAT", "FLOAT", "gfloat", "gdouble", "g_marshal_value_peek_float", },
{ "DOUBLE", "DOUBLE", "gdouble", "g_marshal_value_peek_double", }, { "DOUBLE", "DOUBLE", "gdouble", "gdouble", "g_marshal_value_peek_double", },
{ "STRING", "STRING", "gpointer", "g_marshal_value_peek_string", }, { "STRING", "STRING", "gpointer", "gpointer", "g_marshal_value_peek_string", "g_strdup", "g_free"},
{ "PARAM", "PARAM", "gpointer", "g_marshal_value_peek_param", }, { "PARAM", "PARAM", "gpointer", "gpointer", "g_marshal_value_peek_param", "g_param_spec_ref", "g_param_spec_unref"},
{ "BOXED", "BOXED", "gpointer", "g_marshal_value_peek_boxed", }, { "BOXED", "BOXED", "gpointer", "gpointer", "g_marshal_value_peek_boxed", "g_boxed_copy", "g_boxed_free", FALSE, TRUE},
{ "POINTER", "POINTER", "gpointer", "g_marshal_value_peek_pointer", }, { "POINTER", "POINTER", "gpointer", "gpointer", "g_marshal_value_peek_pointer", },
{ "OBJECT", "OBJECT", "gpointer", "g_marshal_value_peek_object", }, { "OBJECT", "OBJECT", "gpointer", "gpointer", "g_marshal_value_peek_object", "g_object_ref", "g_object_unref", TRUE},
{ "VARIANT", "VARIANT", "gpointer", "g_marshal_value_peek_variant", }, { "VARIANT", "VARIANT", "gpointer", "gpointer", "g_marshal_value_peek_variant", "g_variant_ref_sink", "g_variant_unref"},
/* deprecated: */ /* deprecated: */
{ "NONE", "VOID", "void", NULL, }, { "NONE", "VOID", "void", "void", NULL, },
{ "BOOL", "BOOLEAN", "gboolean", "g_marshal_value_peek_boolean", }, { "BOOL", "BOOLEAN", "gboolean", "gboolean", "g_marshal_value_peek_boolean", },
}; };
guint i; guint i;
@ -218,7 +224,12 @@ complete_in_arg (InArgument *iarg)
{ {
iarg->sig_name = args[i].sig_name; iarg->sig_name = args[i].sig_name;
iarg->ctype = args[i].ctype; iarg->ctype = args[i].ctype;
iarg->promoted_ctype = args[i].promoted_ctype;
iarg->getter = args[i].getter; 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; return TRUE;
} }
@ -357,6 +368,7 @@ generate_marshal (const gchar *signame,
g_free (tmp); g_free (tmp);
} }
/* GValue marshaller */
if (gen_cheader && have_std_marshaller) if (gen_cheader && have_std_marshaller)
{ {
g_fprintf (fout, "#define %s_%s\t%s_%s\n", marshaller_prefix, signame, std_marshaller_prefix, signame); 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 */ /* cfile marshal footer */
g_fprintf (fout, "}\n"); 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 static void
@ -802,6 +982,11 @@ parse_args (gint *argc_p,
gen_internal = TRUE; gen_internal = TRUE;
argv[i] = NULL; argv[i] = NULL;
} }
else if (strcmp ("--valist-marshallers", argv[i]) == 0)
{
gen_valist = TRUE;
argv[i] = NULL;
}
else if ((strcmp ("--prefix", argv[i]) == 0) || else if ((strcmp ("--prefix", argv[i]) == 0) ||
(strncmp ("--prefix=", argv[i], 9) == 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, " --skip-source Skip source location comments\n");
g_fprintf (bout, " --stdinc, --nostdinc Include/use standard marshallers\n"); g_fprintf (bout, " --stdinc, --nostdinc Include/use standard marshallers\n");
g_fprintf (bout, " --internal Mark generated functions as internal\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, " -v, --version Print version informations\n");
g_fprintf (bout, " --g-fatal-warnings Make warnings fatal (abort)\n"); g_fprintf (bout, " --g-fatal-warnings Make warnings fatal (abort)\n");
} }

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,13 @@ extern void g_cclosure_marshal_VOID__VOID (GClosure *closure,
const GValue *param_values, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:BOOLEAN (./gmarshal.list:7) */
extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:CHAR (./gmarshal.list:8) */
extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:UCHAR (./gmarshal.list:9) */
extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:INT (./gmarshal.list:10) */
extern void g_cclosure_marshal_VOID__INT (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:UINT (./gmarshal.list:11) */
extern void g_cclosure_marshal_VOID__UINT (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:LONG (./gmarshal.list:12) */
extern void g_cclosure_marshal_VOID__LONG (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:ULONG (./gmarshal.list:13) */
extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:ENUM (./gmarshal.list:14) */
extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:FLAGS (./gmarshal.list:15) */
extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:FLOAT (./gmarshal.list:16) */
extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:DOUBLE (./gmarshal.list:17) */
extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:STRING (./gmarshal.list:18) */
extern void g_cclosure_marshal_VOID__STRING (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:PARAM (./gmarshal.list:19) */
extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:BOXED (./gmarshal.list:20) */
extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:POINTER (./gmarshal.list:21) */
extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:OBJECT (./gmarshal.list:22) */
extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:VARIANT (./gmarshal.list:23) */
extern void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* VOID:UINT,POINTER (./gmarshal.list:26) */
extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* BOOL:FLAGS (./gmarshal.list:27) */
extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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 #define g_cclosure_marshal_BOOL__FLAGS g_cclosure_marshal_BOOLEAN__FLAGS
/* STRING:OBJECT,POINTER (./gmarshal.list:28) */ /* STRING:OBJECT,POINTER (./gmarshal.list:28) */
@ -172,6 +312,13 @@ extern void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure,
const GValue *param_values, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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) */ /* BOOL:BOXED,BOXED (./gmarshal.list:29) */
extern void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, 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, const GValue *param_values,
gpointer invocation_hint, gpointer invocation_hint,
gpointer marshal_data); 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 #define g_cclosure_marshal_BOOL__BOXED_BOXED g_cclosure_marshal_BOOLEAN__BOXED_BOXED
G_END_DECLS G_END_DECLS