diff options
Diffstat (limited to 'lib/egg/eggmarshalers.c')
-rw-r--r-- | lib/egg/eggmarshalers.c | 82 |
1 files changed, 81 insertions, 1 deletions
diff --git a/lib/egg/eggmarshalers.c b/lib/egg/eggmarshalers.c index f2749951d..1d336db0e 100644 --- a/lib/egg/eggmarshalers.c +++ b/lib/egg/eggmarshalers.c @@ -1,4 +1,4 @@ -#include "eggmarshalers.h" + #include <glib-object.h> @@ -556,3 +556,83 @@ _egg_marshal_BOOLEAN__OBJECT_STRING_STRING (GClosure *closure, g_value_set_boolean (return_value, v_return); } +/* STRING:POINTER (eggmarshalers.list:18) */ +void +_egg_marshal_STRING__POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef gchar* (*GMarshalFunc_STRING__POINTER) (gpointer data1, + gpointer arg_1, + gpointer data2); + register GMarshalFunc_STRING__POINTER callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + gchar* v_return; + + g_return_if_fail (return_value != NULL); + g_return_if_fail (n_param_values == 2); + + 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_STRING__POINTER) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + g_marshal_value_peek_pointer (param_values + 1), + data2); + + g_value_take_string (return_value, v_return); +} + +/* STRING:STRING,STRING (eggmarshalers.list:19) */ +void +_egg_marshal_STRING__STRING_STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef gchar* (*GMarshalFunc_STRING__STRING_STRING) (gpointer data1, + gpointer arg_1, + gpointer arg_2, + gpointer data2); + register GMarshalFunc_STRING__STRING_STRING callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + gchar* v_return; + + g_return_if_fail (return_value != NULL); + 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_STRING__STRING_STRING) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + g_marshal_value_peek_string (param_values + 1), + g_marshal_value_peek_string (param_values + 2), + data2); + + g_value_take_string (return_value, v_return); +} + |