aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-marshal-utils.h
diff options
context:
space:
mode:
authorBertrand Guiheneuf <bertrand@src.gnome.org>1999-10-09 03:21:51 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>1999-10-09 03:21:51 +0800
commitf1d9513767d88c68505af3564acc54388c9cc6ce (patch)
treefcf151dc48894840e3054ee8a39316cb0c042ace /camel/camel-marshal-utils.h
parent182bac9d134bba25fa3b576aea1b5fd32c06faad (diff)
downloadgsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.tar
gsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.tar.gz
gsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.tar.bz2
gsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.tar.lz
gsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.tar.xz
gsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.tar.zst
gsoc2013-evolution-f1d9513767d88c68505af3564acc54388c9cc6ce.zip
weekly commit
svn path=/trunk/; revision=1322
Diffstat (limited to 'camel/camel-marshal-utils.h')
-rw-r--r--camel/camel-marshal-utils.h38
1 files changed, 36 insertions, 2 deletions
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 <gtk/gtk.h>
+
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
}