/* delegates_params_array.c generated by valac, the Vala compiler * generated from delegates_params_array.vala, do not modify */ #include #include #include #include #include #include #if !defined(VALA_EXTERN) #if defined(_MSC_VER) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif typedef void (*FooFunc) (const gchar* _first_strv, ...); typedef void (*BarFunc) (gint _first_intv, ...); typedef void (*ManamFunc) (GValue* _first_valuev, ...); typedef void (*ManamOwnedFunc) (GValue* _first_valuev, ...); typedef void (*MinimFunc) (GVariant* _first_variantv, ...); #define _g_free0(var) (var = (g_free (var), NULL)) #define __vala_GValue_free0(var) ((var == NULL) ? NULL : (var = (_vala_GValue_free (var), NULL))) #define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL))) #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); VALA_EXTERN void foo (gchar* _first_strv, ...); static void _vala_array_add1 (const gchar** * array, gint* length, gint* size, const gchar* value); VALA_EXTERN void bar (gint _first_intv, ...); static void _vala_array_add2 (gint* * array, gint* length, gint* size, gint value); VALA_EXTERN void manam (GValue* _first_valuev, ...); static void _vala_array_add3 (GValue** * array, gint* length, gint* size, const GValue* value); VALA_EXTERN void manam_owned (GValue* _first_valuev, ...); static void _vala_array_add4 (GValue** * array, gint* length, gint* size, GValue* value); static void _vala_GValue_free (GValue* self); VALA_EXTERN void minim (GVariant* _first_variantv, ...); static void _vala_array_add5 (GVariant** * array, gint* length, gint* size, GVariant* value); static gchar* _variant_get1 (GVariant* value); static gint _variant_get2 (GVariant* value); static gdouble _variant_get3 (GVariant* value); static void _vala_main (void); static GVariant* _variant_new1 (const gchar* value); static GVariant* _variant_new2 (gint value); static GVariant* _variant_new3 (gdouble value); static void _vala_array_destroy (gpointer array, gssize array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gssize array_length, GDestroyNotify destroy_func); static void _vala_array_add1 (const gchar** * array, gint* length, gint* size, const gchar* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; *array = g_renew (const gchar*, *array, (*size) + 1); } (*array)[(*length)++] = value; (*array)[*length] = NULL; } void foo (gchar* _first_strv, ...) { const gchar* _strv_element; va_list _va_list_strv; const gchar** strv = NULL; gint strv_length1 = 0; gint _strv_size_ = 0; const gchar* _tmp0_; const gchar* _tmp1_; const gchar* _tmp2_; strv = g_new0 (const gchar*, strv_length1 + 1); va_start (_va_list_strv, _first_strv); _strv_element = _first_strv; while (_strv_element != NULL) { _vala_array_add1 (&strv, &strv_length1, &_strv_size_, _strv_element); _strv_element = va_arg (_va_list_strv, const gchar*); } va_end (_va_list_strv); _vala_assert (strv_length1 == 3, "strv.length == 3"); _tmp0_ = strv[0]; _vala_assert (g_strcmp0 (_tmp0_, "foo") == 0, "strv[0] == \"foo\""); _tmp1_ = strv[1]; _vala_assert (g_strcmp0 (_tmp1_, "bar") == 0, "strv[1] == \"bar\""); _tmp2_ = strv[2]; _vala_assert (g_strcmp0 (_tmp2_, "manam") == 0, "strv[2] == \"manam\""); strv = (g_free (strv), NULL); } static void _vala_array_add2 (gint* * array, gint* length, gint* size, gint value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; *array = g_renew (gint, *array, *size); } (*array)[(*length)++] = value; } void bar (gint _first_intv, ...) { gint _intv_element; va_list _va_list_intv; gint* intv = NULL; gint intv_length1 = 0; gint _intv_size_ = 0; gint _tmp0_; gint _tmp1_; gint _tmp2_; intv = g_new0 (gint, intv_length1); va_start (_va_list_intv, _first_intv); _intv_element = _first_intv; while (_intv_element != NULL) { _vala_array_add2 (&intv, &intv_length1, &_intv_size_, _intv_element); _intv_element = va_arg (_va_list_intv, gint); } va_end (_va_list_intv); _vala_assert (intv_length1 == 3, "intv.length == 3"); _tmp0_ = intv[0]; _vala_assert (_tmp0_ == 23, "intv[0] == 23"); _tmp1_ = intv[1]; _vala_assert (_tmp1_ == 42, "intv[1] == 42"); _tmp2_ = intv[2]; _vala_assert (_tmp2_ == 4711, "intv[2] == 4711"); intv = (g_free (intv), NULL); } static void _vala_array_add3 (GValue** * array, gint* length, gint* size, const GValue* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; *array = g_renew (GValue*, *array, *size); } (*array)[(*length)++] = value; } void manam (GValue* _first_valuev, ...) { GValue* _valuev_element; va_list _va_list_valuev; GValue** valuev = NULL; gint valuev_length1 = 0; gint _valuev_size_ = 0; GValue* _tmp0_; GValue* _tmp1_; GValue* _tmp2_; valuev = g_new0 (GValue*, valuev_length1); va_start (_va_list_valuev, _first_valuev); _valuev_element = _first_valuev; while (_valuev_element != NULL) { _vala_array_add3 (&valuev, &valuev_length1, &_valuev_size_, _valuev_element); _valuev_element = va_arg (_va_list_valuev, GValue*); } va_end (_va_list_valuev); _vala_assert (valuev_length1 == 3, "valuev.length == 3"); _tmp0_ = valuev[0]; _vala_assert (g_strcmp0 (g_value_get_string (_tmp0_), "foo") == 0, "valuev[0] == \"foo\""); _tmp1_ = valuev[1]; _vala_assert (g_value_get_int (_tmp1_) == 4711, "valuev[1] == 4711"); _tmp2_ = valuev[2]; _vala_assert (g_value_get_double (_tmp2_) == 3.1415, "valuev[2] == 3.1415"); valuev = (g_free (valuev), NULL); } static void _vala_array_add4 (GValue** * array, gint* length, gint* size, GValue* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; *array = g_renew (GValue*, *array, *size); } (*array)[(*length)++] = value; } static void _vala_GValue_free (GValue* self) { g_boxed_free (G_TYPE_VALUE, self); } void manam_owned (GValue* _first_valuev, ...) { GValue* _valuev_element; va_list _va_list_valuev; GValue** valuev = NULL; gint valuev_length1 = 0; gint _valuev_size_ = 0; GValue* _tmp0_; GValue* _tmp1_; GValue* _tmp2_; valuev = g_new0 (GValue*, valuev_length1); va_start (_va_list_valuev, _first_valuev); _valuev_element = _first_valuev; while (_valuev_element != NULL) { _vala_array_add4 (&valuev, &valuev_length1, &_valuev_size_, _valuev_element); _valuev_element = va_arg (_va_list_valuev, GValue*); } va_end (_va_list_valuev); _vala_assert (valuev_length1 == 3, "valuev.length == 3"); _tmp0_ = valuev[0]; _vala_assert (g_strcmp0 (g_value_get_string (_tmp0_), "foo") == 0, "valuev[0] == \"foo\""); _tmp1_ = valuev[1]; _vala_assert (g_value_get_int (_tmp1_) == 4711, "valuev[1] == 4711"); _tmp2_ = valuev[2]; _vala_assert (g_value_get_double (_tmp2_) == 3.1415, "valuev[2] == 3.1415"); valuev = (_vala_array_free (valuev, valuev_length1, (GDestroyNotify) _vala_GValue_free), NULL); } static void _vala_array_add5 (GVariant** * array, gint* length, gint* size, GVariant* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; *array = g_renew (GVariant*, *array, (*size) + 1); } (*array)[(*length)++] = value; (*array)[*length] = NULL; } static gchar* _variant_get1 (GVariant* value) { return g_variant_dup_string (value, NULL); } static gint _variant_get2 (GVariant* value) { return g_variant_get_int32 (value); } static gdouble _variant_get3 (GVariant* value) { return g_variant_get_double (value); } void minim (GVariant* _first_variantv, ...) { GVariant* _variantv_element; va_list _va_list_variantv; GVariant** variantv = NULL; gint variantv_length1 = 0; gint _variantv_size_ = 0; GVariant* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; GVariant* _tmp3_; gint _tmp4_; GVariant* _tmp5_; gdouble _tmp6_; variantv = g_new0 (GVariant*, variantv_length1 + 1); va_start (_va_list_variantv, _first_variantv); _variantv_element = _first_variantv; while (_variantv_element != NULL) { _vala_array_add5 (&variantv, &variantv_length1, &_variantv_size_, _variantv_element); _variantv_element = va_arg (_va_list_variantv, GVariant*); } va_end (_va_list_variantv); _vala_assert (variantv_length1 == 3, "variantv.length == 3"); _tmp0_ = variantv[0]; _tmp1_ = _variant_get1 (_tmp0_); _tmp2_ = _tmp1_; _vala_assert (g_strcmp0 (_tmp2_, "foo") == 0, "(string) variantv[0] == \"foo\""); _g_free0 (_tmp2_); _tmp3_ = variantv[1]; _tmp4_ = _variant_get2 (_tmp3_); _vala_assert (_tmp4_ == 4711, "(int) variantv[1] == 4711"); _tmp5_ = variantv[2]; _tmp6_ = _variant_get3 (_tmp5_); _vala_assert (_tmp6_ == 3.1415, "(double) variantv[2] == 3.1415"); variantv = (g_free (variantv), NULL); } static GVariant* _variant_new1 (const gchar* value) { return g_variant_ref_sink (g_variant_new_string (value)); } static GVariant* _variant_new2 (gint value) { return g_variant_ref_sink (g_variant_new_int32 (value)); } static GVariant* _variant_new3 (gdouble value) { return g_variant_ref_sink (g_variant_new_double (value)); } static void _vala_main (void) { { FooFunc func = NULL; func = foo; func ("foo", "bar", "manam", NULL); } { BarFunc func = NULL; func = bar; func (23, 42, 4711, NULL); } { ManamFunc func = NULL; GValue* _tmp0_ = NULL; GValue* _tmp1_ = NULL; GValue* _tmp2_ = NULL; func = manam; _tmp0_ = g_new0 (GValue, 1); g_value_init (_tmp0_, G_TYPE_STRING); g_value_set_string (_tmp0_, "foo"); _tmp1_ = g_new0 (GValue, 1); g_value_init (_tmp1_, G_TYPE_INT); g_value_set_int (_tmp1_, 4711); _tmp2_ = g_new0 (GValue, 1); g_value_init (_tmp2_, G_TYPE_DOUBLE); g_value_set_double (_tmp2_, 3.1415); func (_tmp0_, _tmp1_, _tmp2_, NULL); __vala_GValue_free0 (_tmp2_); __vala_GValue_free0 (_tmp1_); __vala_GValue_free0 (_tmp0_); } { ManamOwnedFunc func = NULL; GValue* _tmp3_ = NULL; GValue* _tmp4_ = NULL; GValue* _tmp5_ = NULL; func = manam_owned; _tmp3_ = g_new0 (GValue, 1); g_value_init (_tmp3_, G_TYPE_STRING); g_value_set_string (_tmp3_, "foo"); _tmp4_ = g_new0 (GValue, 1); g_value_init (_tmp4_, G_TYPE_INT); g_value_set_int (_tmp4_, 4711); _tmp5_ = g_new0 (GValue, 1); g_value_init (_tmp5_, G_TYPE_DOUBLE); g_value_set_double (_tmp5_, 3.1415); func (_tmp3_, _tmp4_, _tmp5_, NULL); } { MinimFunc func = NULL; GVariant* _tmp6_; GVariant* _tmp7_; GVariant* _tmp8_; func = minim; _tmp6_ = _variant_new1 ("foo"); _tmp7_ = _variant_new2 (4711); _tmp8_ = _variant_new3 (3.1415); func (_tmp6_, _tmp7_, _tmp8_, NULL); _g_variant_unref0 (_tmp8_); _g_variant_unref0 (_tmp7_); _g_variant_unref0 (_tmp6_); } } int main (int argc, char ** argv) { _vala_main (); return 0; } static void _vala_array_destroy (gpointer array, gssize array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { gssize i; for (i = 0; i < array_length; i = i + 1) { if (((gpointer*) array)[i] != NULL) { destroy_func (((gpointer*) array)[i]); } } } } static void _vala_array_free (gpointer array, gssize array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); }