diff options
Diffstat (limited to 'libindicator')
-rw-r--r-- | libindicator/indicator-object-marshal.c | 39 | ||||
-rw-r--r-- | libindicator/indicator-object-marshal.h | 8 |
2 files changed, 47 insertions, 0 deletions
diff --git a/libindicator/indicator-object-marshal.c b/libindicator/indicator-object-marshal.c index 4c36c8e..d5d526a 100644 --- a/libindicator/indicator-object-marshal.c +++ b/libindicator/indicator-object-marshal.c @@ -22,6 +22,7 @@ #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) +#define g_marshal_value_peek_variant(v) g_value_get_variant (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the @@ -45,6 +46,7 @@ #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */ @@ -124,3 +126,40 @@ _indicator_object_marshal_VOID__UINT_ENUM (GClosure *closure, data2); } +/* VOID:POINTER,UINT (./indicator-object-marshal.list:3) */ +void +_indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure, + GValue *return_value G_GNUC_UNUSED, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint G_GNUC_UNUSED, + gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__POINTER_UINT) (gpointer data1, + gpointer arg_1, + guint arg_2, + gpointer data2); + register GMarshalFunc_VOID__POINTER_UINT callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + + g_return_if_fail (n_param_values == 3); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = g_value_peek_pointer (param_values + 0); + } + else + { + data1 = g_value_peek_pointer (param_values + 0); + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__POINTER_UINT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + g_marshal_value_peek_pointer (param_values + 1), + g_marshal_value_peek_uint (param_values + 2), + data2); +} + diff --git a/libindicator/indicator-object-marshal.h b/libindicator/indicator-object-marshal.h index 96e98f8..c34fa94 100644 --- a/libindicator/indicator-object-marshal.h +++ b/libindicator/indicator-object-marshal.h @@ -22,6 +22,14 @@ extern void _indicator_object_marshal_VOID__UINT_ENUM (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); +/* VOID:POINTER,UINT (./indicator-object-marshal.list:3) */ +extern void _indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + G_END_DECLS #endif /* ___indicator_object_marshal_MARSHAL_H__ */ |