From fb283957c0be31dceb59a40142f869f0822beab9 Mon Sep 17 00:00:00 2001 From: Kaj-Michael Lang Date: Mon, 3 Sep 2007 12:17:33 +0300 Subject: [PATCH] maemo bt dbus stuff --- src/bt-maemo-marshal.c | 92 +++++++++++++++++++++++++++++++++++++++ src/bt-maemo-marshal.h | 20 +++++++++ src/bt-maemo-marshal.list | 1 + 3 files changed, 113 insertions(+) create mode 100644 src/bt-maemo-marshal.c create mode 100644 src/bt-maemo-marshal.h create mode 100644 src/bt-maemo-marshal.list diff --git a/src/bt-maemo-marshal.c b/src/bt-maemo-marshal.c new file mode 100644 index 0000000..ce591a3 --- /dev/null +++ b/src/bt-maemo-marshal.c @@ -0,0 +1,92 @@ + +#include + + +#ifdef G_ENABLE_DEBUG +#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) +#define g_marshal_value_peek_char(v) g_value_get_char (v) +#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) +#define g_marshal_value_peek_int(v) g_value_get_int (v) +#define g_marshal_value_peek_uint(v) g_value_get_uint (v) +#define g_marshal_value_peek_long(v) g_value_get_long (v) +#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) +#define g_marshal_value_peek_int64(v) g_value_get_int64 (v) +#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) +#define g_marshal_value_peek_enum(v) g_value_get_enum (v) +#define g_marshal_value_peek_flags(v) g_value_get_flags (v) +#define g_marshal_value_peek_float(v) g_value_get_float (v) +#define g_marshal_value_peek_double(v) g_value_get_double (v) +#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) +#define g_marshal_value_peek_param(v) g_value_get_param (v) +#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) +#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 + * g_value_get_*() functions + */ +#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int +#define g_marshal_value_peek_char(v) (v)->data[0].v_int +#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint +#define g_marshal_value_peek_int(v) (v)->data[0].v_int +#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint +#define g_marshal_value_peek_long(v) (v)->data[0].v_long +#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong +#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 +#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 +#define g_marshal_value_peek_enum(v) (v)->data[0].v_long +#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong +#define g_marshal_value_peek_float(v) (v)->data[0].v_float +#define g_marshal_value_peek_double(v) (v)->data[0].v_double +#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer +#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 +#endif /* !G_ENABLE_DEBUG */ + + +/* VOID:STRING,STRING,POINTER,UCHAR,UINT (bt-maemo-marshal.list:1) */ +void +_bt_maemo_VOID__STRING_STRING_POINTER_UCHAR_UINT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__STRING_STRING_POINTER_UCHAR_UINT) (gpointer data1, + gpointer arg_1, + gpointer arg_2, + gpointer arg_3, + guchar arg_4, + guint arg_5, + gpointer data2); + register GMarshalFunc_VOID__STRING_STRING_POINTER_UCHAR_UINT callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + + g_return_if_fail (n_param_values == 6); + + 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__STRING_STRING_POINTER_UCHAR_UINT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + g_marshal_value_peek_string (param_values + 1), + g_marshal_value_peek_string (param_values + 2), + g_marshal_value_peek_pointer (param_values + 3), + g_marshal_value_peek_uchar (param_values + 4), + g_marshal_value_peek_uint (param_values + 5), + data2); +} + diff --git a/src/bt-maemo-marshal.h b/src/bt-maemo-marshal.h new file mode 100644 index 0000000..b121626 --- /dev/null +++ b/src/bt-maemo-marshal.h @@ -0,0 +1,20 @@ + +#ifndef ___bt_maemo_MARSHAL_H__ +#define ___bt_maemo_MARSHAL_H__ + +#include + +G_BEGIN_DECLS + +/* VOID:STRING,STRING,POINTER,UCHAR,UINT (bt-maemo-marshal.list:1) */ +extern void _bt_maemo_VOID__STRING_STRING_POINTER_UCHAR_UINT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +G_END_DECLS + +#endif /* ___bt_maemo_MARSHAL_H__ */ + diff --git a/src/bt-maemo-marshal.list b/src/bt-maemo-marshal.list new file mode 100644 index 0000000..9c54960 --- /dev/null +++ b/src/bt-maemo-marshal.list @@ -0,0 +1 @@ +VOID:STRING,STRING,POINTER,UCHAR,UINT -- 2.39.5