"DOUBLE"=>"gdouble", "STRING"=>"gpointer",
"ENUM"=>"gint", "FLAGS"=>"gint",
"BOXED"=>"gpointer", "FOREIGN"=>"gpointer",
- "CALLBACK"=>"gpointer", "POINTER"=>"gpointer",
+ "C_CALLBACK"=>"C_CALLBACK", "POINTER"=>"gpointer",
"ARGS"=>"gpointer", "SIGNAL"=>"gpointer",
- "C_CALLBACK"=>"gpointer", "OBJECT"=>"gpointer",
+ "OBJECT"=>"gpointer",
"STYLE"=>"gpointer", "GDK_EVENT"=>"gpointer");
$srcdir = $ENV{'srcdir'} || '.';
print OS "typedef $trans{$retval} (*GtkSignal_$funcname) (GtkObject *object, \n";
$argn = 1;
for (@params) {
- print OS "$trans{$_} arg".$argn++.",\n" unless $_ eq "NONE";
+ if($_ eq "C_CALLBACK") {
+ print OS "gpointer arg".$argn."a,\n";
+ print OS "gpointer arg".$argn++."b,\n";
+ } else {
+ print OS "$trans{$_} arg".$argn++.",\n" unless $_ eq "NONE";
+ }
}
print OS "gpointer user_data);\n";
print OS " (* rfunc) (object,\n";
for($i = 0; $i < (scalar @params); $i++) {
- if ($params[$i] ne "NONE") {
- print OS " GTK_VALUE_$params[$i](args[$i]),\n";
+ if($params[$i] eq "C_CALLBACK") {
+ print OS <<EOT;
+GTK_VALUE_C_CALLBACK(args[$i]).func,
+GTK_VALUE_C_CALLBACK(args[$i]).func_data,
+EOT
+ } elsif ($params[$i] eq "NONE") {
+ } else {
+ print OS " GTK_VALUE_$params[$i](args[$i]),\n";
}
}
func_data);
}
+typedef gboolean (*GtkSignal_BOOL__POINTER_POINTER_POINTER_POINTER) (GtkObject * object,
+ gpointer arg1,
+ gpointer arg2,
+ gpointer arg3,
+ gpointer arg4,
+ gpointer user_data);
+void
+gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args)
+{
+ GtkSignal_BOOL__POINTER_POINTER_POINTER_POINTER rfunc;
+ gboolean *return_val;
+ return_val = GTK_RETLOC_BOOL (args[4]);
+ rfunc = (GtkSignal_BOOL__POINTER_POINTER_POINTER_POINTER) func;
+ *return_val = (*rfunc) (object,
+ GTK_VALUE_POINTER (args[0]),
+ GTK_VALUE_POINTER (args[1]),
+ GTK_VALUE_POINTER (args[2]),
+ GTK_VALUE_POINTER (args[3]),
+ func_data);
+}
+
typedef gint (*GtkSignal_INT__INT) (GtkObject * object,
gint arg1,
gpointer user_data);
func_data);
}
+typedef void (*GtkSignal_NONE__BOOL) (GtkObject * object,
+ gboolean arg1,
+ gpointer user_data);
+void
+gtk_marshal_NONE__BOOL (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args)
+{
+ GtkSignal_NONE__BOOL rfunc;
+ rfunc = (GtkSignal_NONE__BOOL) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOOL (args[0]),
+ func_data);
+}
+
typedef void (*GtkSignal_NONE__POINTER) (GtkObject * object,
gpointer arg1,
gpointer user_data);
func_data);
}
-typedef void (*GtkSignal_NONE__POINTER_POINTER) (GtkObject * object,
- gpointer arg1,
- gpointer arg2,
- gpointer user_data);
+typedef void (*GtkSignal_NONE__C_CALLBACK) (GtkObject * object,
+ gpointer arg1a,
+ gpointer arg1b,
+ gpointer user_data);
void
-gtk_marshal_NONE__POINTER_POINTER (GtkObject * object,
- GtkSignalFunc func,
- gpointer func_data,
- GtkArg * args)
+gtk_marshal_NONE__C_CALLBACK (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args)
{
- GtkSignal_NONE__POINTER_POINTER rfunc;
- rfunc = (GtkSignal_NONE__POINTER_POINTER) func;
+ GtkSignal_NONE__C_CALLBACK rfunc;
+ rfunc = (GtkSignal_NONE__C_CALLBACK) func;
(*rfunc) (object,
- GTK_VALUE_POINTER (args[0]),
- GTK_VALUE_POINTER (args[1]),
+ GTK_VALUE_C_CALLBACK (args[0]).func,
+ GTK_VALUE_C_CALLBACK (args[0]).func_data,
+ func_data);
+}
+
+typedef void (*GtkSignal_NONE__C_CALLBACK_C_CALLBACK) (GtkObject * object,
+ gpointer arg1a,
+ gpointer arg1b,
+ gpointer arg2a,
+ gpointer arg2b,
+ gpointer user_data);
+void
+gtk_marshal_NONE__C_CALLBACK_C_CALLBACK (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args)
+{
+ GtkSignal_NONE__C_CALLBACK_C_CALLBACK rfunc;
+ rfunc = (GtkSignal_NONE__C_CALLBACK_C_CALLBACK) func;
+ (*rfunc) (object,
+ GTK_VALUE_C_CALLBACK (args[0]).func,
+ GTK_VALUE_C_CALLBACK (args[0]).func_data,
+ GTK_VALUE_C_CALLBACK (args[1]).func,
+ GTK_VALUE_C_CALLBACK (args[1]).func_data,
func_data);
}
func_data);
}
+typedef void (*GtkSignal_NONE__POINTER_POINTER) (GtkObject * object,
+ gpointer arg1,
+ gpointer arg2,
+ gpointer user_data);
+void
+gtk_marshal_NONE__POINTER_POINTER (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args)
+{
+ GtkSignal_NONE__POINTER_POINTER rfunc;
+ rfunc = (GtkSignal_NONE__POINTER_POINTER) func;
+ (*rfunc) (object,
+ GTK_VALUE_POINTER (args[0]),
+ GTK_VALUE_POINTER (args[1]),
+ func_data);
+}
+
typedef void (*GtkSignal_NONE__POINTER_POINTER_POINTER) (GtkObject * object,
gpointer arg1,
gpointer arg2,
func_data);
}
-typedef void (*GtkSignal_NONE__BOOL) (GtkObject * object,
- gboolean arg1,
- gpointer user_data);
-void
-gtk_marshal_NONE__BOOL (GtkObject * object,
- GtkSignalFunc func,
- gpointer func_data,
- GtkArg * args)
-{
- GtkSignal_NONE__BOOL rfunc;
- rfunc = (GtkSignal_NONE__BOOL) func;
- (*rfunc) (object,
- GTK_VALUE_BOOL (args[0]),
- func_data);
-}
-
-typedef gboolean (*GtkSignal_BOOL__POINTER_POINTER_POINTER_POINTER) (GtkObject * object,
- gpointer arg1,
- gpointer arg2,
- gpointer arg3,
- gpointer arg4,
- gpointer user_data);
-void
-gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER (GtkObject * object,
- GtkSignalFunc func,
- gpointer func_data,
- GtkArg * args)
-{
- GtkSignal_BOOL__POINTER_POINTER_POINTER_POINTER rfunc;
- gboolean *return_val;
- return_val = GTK_RETLOC_BOOL (args[4]);
- rfunc = (GtkSignal_BOOL__POINTER_POINTER_POINTER_POINTER) func;
- *return_val = (*rfunc) (object,
- GTK_VALUE_POINTER (args[0]),
- GTK_VALUE_POINTER (args[1]),
- GTK_VALUE_POINTER (args[2]),
- GTK_VALUE_POINTER (args[3]),
- func_data);
-}
-
typedef void (*GtkSignal_NONE__INT_POINTER) (GtkObject * object,
gint arg1,
gpointer arg2,
gpointer func_data,
GtkArg * args);
+#define gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER
+
+ void gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args);
+
#define gtk_marshal_ENUM__ENUM gtk_marshal_INT__INT
void gtk_marshal_INT__INT (GtkObject * object,
gpointer func_data,
GtkArg * args);
+ void gtk_marshal_NONE__BOOL (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args);
+
#define gtk_marshal_NONE__BOXED gtk_marshal_NONE__POINTER
void gtk_marshal_NONE__POINTER (GtkObject * object,
gpointer func_data,
GtkArg * args);
-#define gtk_marshal_NONE__C_CALLBACK_C_CALLBACK gtk_marshal_NONE__POINTER_POINTER
+ void gtk_marshal_NONE__C_CALLBACK (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args);
- void gtk_marshal_NONE__POINTER_POINTER (GtkObject * object,
- GtkSignalFunc func,
- gpointer func_data,
- GtkArg * args);
+ void gtk_marshal_NONE__C_CALLBACK_C_CALLBACK (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args);
#define gtk_marshal_NONE__ENUM gtk_marshal_NONE__INT
gpointer func_data,
GtkArg * args);
+ void gtk_marshal_NONE__POINTER_POINTER (GtkObject * object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg * args);
+
void gtk_marshal_NONE__POINTER_POINTER_POINTER (GtkObject * object,
GtkSignalFunc func,
gpointer func_data,
GtkArg * args);
+#define gtk_marshal_NONE__POINTER_STRING_STRING gtk_marshal_NONE__POINTER_POINTER_POINTER
+
+#define gtk_marshal_NONE__POINTER_UINT gtk_marshal_NONE__POINTER_INT
+
#define gtk_marshal_NONE__POINTER_UINT_ENUM gtk_marshal_NONE__POINTER_INT_INT
void gtk_marshal_NONE__POINTER_INT_INT (GtkObject * object,
gpointer func_data,
GtkArg * args);
+#define gtk_marshal_NONE__POINTER_UINT_UINT gtk_marshal_NONE__POINTER_INT_INT
+
#define gtk_marshal_NONE__STRING gtk_marshal_NONE__POINTER
#define gtk_marshal_NONE__STRING_INT_POINTER gtk_marshal_NONE__POINTER_INT_POINTER
gpointer func_data,
GtkArg * args);
-#define gtk_marshal_NONE__POINTER_UINT_UINT gtk_marshal_NONE__POINTER_INT_INT
-
#define gtk_marshal_NONE__UINT_POINTER_UINT_UINT_ENUM gtk_marshal_NONE__INT_POINTER_INT_INT_INT
void gtk_marshal_NONE__INT_POINTER_INT_INT_INT (GtkObject * object,
gpointer func_data,
GtkArg * args);
-#define gtk_marshal_NONE__C_CALLBACK gtk_marshal_NONE__POINTER
-
- void gtk_marshal_NONE__BOOL (GtkObject * object,
- GtkSignalFunc func,
- gpointer func_data,
- GtkArg * args);
-
-#define gtk_marshal_NONE__POINTER_UINT gtk_marshal_NONE__POINTER_INT
-
-#define gtk_marshal_NONE__POINTER_STRING_STRING gtk_marshal_NONE__POINTER_POINTER_POINTER
-
-#define gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER
-
- void gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER (GtkObject * object,
- GtkSignalFunc func,
- gpointer func_data,
- GtkArg * args);
-
#define gtk_marshal_NONE__UINT_STRING gtk_marshal_NONE__INT_POINTER
void gtk_marshal_NONE__INT_POINTER (GtkObject * object,