From f1d9513767d88c68505af3564acc54388c9cc6ce Mon Sep 17 00:00:00 2001 From: Bertrand Guiheneuf Date: Fri, 8 Oct 1999 19:21:51 +0000 Subject: weekly commit svn path=/trunk/; revision=1322 --- camel/camel-marshal-utils.h | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'camel/camel-marshal-utils.h') diff --git a/camel/camel-marshal-utils.h b/camel/camel-marshal-utils.h index 158b72b1be..324f32e644 100644 --- a/camel/camel-marshal-utils.h +++ b/camel/camel-marshal-utils.h @@ -34,14 +34,19 @@ extern "C" { #include + typedef void (*CamelFunc) (); -typedef gboolean ( *CamelMarshal) (CamelFunc func, +typedef void ( *CamelMarshal) (CamelFunc func, GtkArg *args); + + + + typedef struct { + CamelMarshal marshal; - CamelFunc func; guint n_params; GtkType *params_type; @@ -49,7 +54,36 @@ typedef struct { +typedef struct { + CamelFuncDef *func_def; + CamelFunc func; + GtkArg *params; + gpointer user_data; +} CamelOp; + + +CamelFuncDef * +camel_func_def_new (CamelMarshal marshal, + guint n_params, + ...); + + +CamelOp *camel_op_new (CamelFuncDef *func_def); +void camel_op_free (CamelOp *op); +void camel_op_run (CamelOp *op); +void camel_op_run_and_free (CamelOp *op); +void camel_op_set_user_data (CamelOp *op, gpointer user_data); +gpointer camel_op_get_user_data (CamelOp *op); + +CamelOp *camel_marshal_create_op (CamelFuncDef *func_def, CamelFunc func, ...); +/* marshallers */ +void camel_marshal_NONE__POINTER_INT_POINTER (CamelFunc func, + GtkArg *args); +void camel_marshal_NONE__POINTER_INT_POINTER_POINTER (CamelFunc func, + GtkArg *args); +void camel_marshal_NONE__INT (CamelFunc func, + GtkArg *args); #ifdef __cplusplus } -- cgit v1.2.3