/* arrays_struct_namespaced_initializer.c generated by valac, the Vala compiler * generated from arrays_struct_namespaced_initializer.vala, do not modify */ #include #include #include #include #include #if !defined(VALA_EXTERN) #if defined(_WIN32) || defined(__CYGWIN__) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif #define MANAM_BAR_TYPE_FOO (manam_bar_foo_get_type ()) typedef struct _ManamBarFoo ManamBarFoo; #define MANAM_TYPE_BAZ (manam_baz_get_type ()) #define MANAM_BAZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MANAM_TYPE_BAZ, ManamBaz)) #define MANAM_BAZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MANAM_TYPE_BAZ, ManamBazClass)) #define MANAM_IS_BAZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MANAM_TYPE_BAZ)) #define MANAM_IS_BAZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MANAM_TYPE_BAZ)) #define MANAM_BAZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MANAM_TYPE_BAZ, ManamBazClass)) typedef struct _ManamBaz ManamBaz; typedef struct _ManamBazClass ManamBazClass; typedef struct _ManamBazPrivate ManamBazPrivate; #define MANAM_BAZ_TYPE_FAZ (manam_baz_faz_get_type ()) typedef struct _ManamBazFaz ManamBazFaz; #define _g_free0(var) (var = (g_free (var), NULL)) typedef struct _ManamParamSpecBaz ManamParamSpecBaz; #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); struct _ManamBarFoo { gint i; gint j; }; struct _ManamBaz { GTypeInstance parent_instance; volatile int ref_count; ManamBazPrivate * priv; }; struct _ManamBazClass { GTypeClass parent_class; void (*finalize) (ManamBaz *self); }; struct _ManamBazFaz { gchar* s; guint i; }; struct _ManamParamSpecBaz { GParamSpec parent_instance; }; static gpointer manam_baz_parent_class = NULL; VALA_EXTERN GType manam_bar_foo_get_type (void) G_GNUC_CONST ; VALA_EXTERN ManamBarFoo* manam_bar_foo_dup (const ManamBarFoo* self); VALA_EXTERN void manam_bar_foo_free (ManamBarFoo* self); VALA_EXTERN gpointer manam_baz_ref (gpointer instance); VALA_EXTERN void manam_baz_unref (gpointer instance); VALA_EXTERN GParamSpec* manam_param_spec_baz (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); VALA_EXTERN void manam_value_set_baz (GValue* value, gpointer v_object); VALA_EXTERN void manam_value_take_baz (GValue* value, gpointer v_object); VALA_EXTERN gpointer manam_value_get_baz (const GValue* value); VALA_EXTERN GType manam_baz_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (ManamBaz, manam_baz_unref) VALA_EXTERN ManamBaz* manam_baz_new (void); VALA_EXTERN ManamBaz* manam_baz_construct (GType object_type); VALA_EXTERN GType manam_baz_faz_get_type (void) G_GNUC_CONST ; VALA_EXTERN ManamBazFaz* manam_baz_faz_dup (const ManamBazFaz* self); VALA_EXTERN void manam_baz_faz_free (ManamBazFaz* self); VALA_EXTERN void manam_baz_faz_copy (const ManamBazFaz* self, ManamBazFaz* dest); VALA_EXTERN void manam_baz_faz_destroy (ManamBazFaz* self); G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (ManamBazFaz, manam_baz_faz_destroy) static void manam_baz_finalize (ManamBaz * obj); static GType manam_baz_get_type_once (void); static void _vala_main (void); static void _vala_ManamBazFaz_array_free (ManamBazFaz * array, gssize array_length); ManamBarFoo* manam_bar_foo_dup (const ManamBarFoo* self) { ManamBarFoo* dup; dup = g_new0 (ManamBarFoo, 1); memcpy (dup, self, sizeof (ManamBarFoo)); return dup; } void manam_bar_foo_free (ManamBarFoo* self) { g_free (self); } static GType manam_bar_foo_get_type_once (void) { GType manam_bar_foo_type_id; manam_bar_foo_type_id = g_boxed_type_register_static ("ManamBarFoo", (GBoxedCopyFunc) manam_bar_foo_dup, (GBoxedFreeFunc) manam_bar_foo_free); return manam_bar_foo_type_id; } GType manam_bar_foo_get_type (void) { static volatile gsize manam_bar_foo_type_id__once = 0; if (g_once_init_enter (&manam_bar_foo_type_id__once)) { GType manam_bar_foo_type_id; manam_bar_foo_type_id = manam_bar_foo_get_type_once (); g_once_init_leave (&manam_bar_foo_type_id__once, manam_bar_foo_type_id); } return manam_bar_foo_type_id__once; } ManamBaz* manam_baz_construct (GType object_type) { ManamBaz* self = NULL; self = (ManamBaz*) g_type_create_instance (object_type); return self; } ManamBaz* manam_baz_new (void) { return manam_baz_construct (MANAM_TYPE_BAZ); } void manam_baz_faz_copy (const ManamBazFaz* self, ManamBazFaz* dest) { const gchar* _tmp0_; gchar* _tmp1_; _tmp0_ = (*self).s; _tmp1_ = g_strdup (_tmp0_); _g_free0 ((*dest).s); (*dest).s = _tmp1_; (*dest).i = (*self).i; } void manam_baz_faz_destroy (ManamBazFaz* self) { _g_free0 ((*self).s); } ManamBazFaz* manam_baz_faz_dup (const ManamBazFaz* self) { ManamBazFaz* dup; dup = g_new0 (ManamBazFaz, 1); manam_baz_faz_copy (self, dup); return dup; } void manam_baz_faz_free (ManamBazFaz* self) { manam_baz_faz_destroy (self); g_free (self); } static GType manam_baz_faz_get_type_once (void) { GType manam_baz_faz_type_id; manam_baz_faz_type_id = g_boxed_type_register_static ("ManamBazFaz", (GBoxedCopyFunc) manam_baz_faz_dup, (GBoxedFreeFunc) manam_baz_faz_free); return manam_baz_faz_type_id; } GType manam_baz_faz_get_type (void) { static volatile gsize manam_baz_faz_type_id__once = 0; if (g_once_init_enter (&manam_baz_faz_type_id__once)) { GType manam_baz_faz_type_id; manam_baz_faz_type_id = manam_baz_faz_get_type_once (); g_once_init_leave (&manam_baz_faz_type_id__once, manam_baz_faz_type_id); } return manam_baz_faz_type_id__once; } static void manam_value_baz_init (GValue* value) { value->data[0].v_pointer = NULL; } static void manam_value_baz_free_value (GValue* value) { if (value->data[0].v_pointer) { manam_baz_unref (value->data[0].v_pointer); } } static void manam_value_baz_copy_value (const GValue* src_value, GValue* dest_value) { if (src_value->data[0].v_pointer) { dest_value->data[0].v_pointer = manam_baz_ref (src_value->data[0].v_pointer); } else { dest_value->data[0].v_pointer = NULL; } } static gpointer manam_value_baz_peek_pointer (const GValue* value) { return value->data[0].v_pointer; } static gchar* manam_value_baz_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { if (collect_values[0].v_pointer) { ManamBaz * object; object = collect_values[0].v_pointer; if (object->parent_instance.g_class == NULL) { return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); } value->data[0].v_pointer = manam_baz_ref (object); } else { value->data[0].v_pointer = NULL; } return NULL; } static gchar* manam_value_baz_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { ManamBaz ** object_p; object_p = collect_values[0].v_pointer; if (!object_p) { return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); } if (!value->data[0].v_pointer) { *object_p = NULL; } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { *object_p = value->data[0].v_pointer; } else { *object_p = manam_baz_ref (value->data[0].v_pointer); } return NULL; } GParamSpec* manam_param_spec_baz (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { ManamParamSpecBaz* spec; g_return_val_if_fail (g_type_is_a (object_type, MANAM_TYPE_BAZ), NULL); spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); G_PARAM_SPEC (spec)->value_type = object_type; return G_PARAM_SPEC (spec); } gpointer manam_value_get_baz (const GValue* value) { g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, MANAM_TYPE_BAZ), NULL); return value->data[0].v_pointer; } void manam_value_set_baz (GValue* value, gpointer v_object) { ManamBaz * old; g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, MANAM_TYPE_BAZ)); old = value->data[0].v_pointer; if (v_object) { g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, MANAM_TYPE_BAZ)); g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); value->data[0].v_pointer = v_object; manam_baz_ref (value->data[0].v_pointer); } else { value->data[0].v_pointer = NULL; } if (old) { manam_baz_unref (old); } } void manam_value_take_baz (GValue* value, gpointer v_object) { ManamBaz * old; g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, MANAM_TYPE_BAZ)); old = value->data[0].v_pointer; if (v_object) { g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, MANAM_TYPE_BAZ)); g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); value->data[0].v_pointer = v_object; } else { value->data[0].v_pointer = NULL; } if (old) { manam_baz_unref (old); } } static void manam_baz_class_init (ManamBazClass * klass, gpointer klass_data) { manam_baz_parent_class = g_type_class_peek_parent (klass); ((ManamBazClass *) klass)->finalize = manam_baz_finalize; } static void manam_baz_instance_init (ManamBaz * self, gpointer klass) { self->ref_count = 1; } static void manam_baz_finalize (ManamBaz * obj) { ManamBaz * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, MANAM_TYPE_BAZ, ManamBaz); g_signal_handlers_destroy (self); } static GType manam_baz_get_type_once (void) { static const GTypeValueTable g_define_type_value_table = { manam_value_baz_init, manam_value_baz_free_value, manam_value_baz_copy_value, manam_value_baz_peek_pointer, "p", manam_value_baz_collect_value, "p", manam_value_baz_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (ManamBazClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) manam_baz_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ManamBaz), 0, (GInstanceInitFunc) manam_baz_instance_init, &g_define_type_value_table }; static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; GType manam_baz_type_id; manam_baz_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ManamBaz", &g_define_type_info, &g_define_type_fundamental_info, 0); return manam_baz_type_id; } GType manam_baz_get_type (void) { static volatile gsize manam_baz_type_id__once = 0; if (g_once_init_enter (&manam_baz_type_id__once)) { GType manam_baz_type_id; manam_baz_type_id = manam_baz_get_type_once (); g_once_init_leave (&manam_baz_type_id__once, manam_baz_type_id); } return manam_baz_type_id__once; } gpointer manam_baz_ref (gpointer instance) { ManamBaz * self; self = instance; g_atomic_int_inc (&self->ref_count); return instance; } void manam_baz_unref (gpointer instance) { ManamBaz * self; self = instance; if (g_atomic_int_dec_and_test (&self->ref_count)) { MANAM_BAZ_GET_CLASS (self)->finalize (self); g_type_free_instance ((GTypeInstance *) self); } } static void _vala_ManamBazFaz_array_free (ManamBazFaz * array, gssize array_length) { if (array != NULL) { gssize i; for (i = 0; i < array_length; i = i + 1) { manam_baz_faz_destroy (&array[i]); } } g_free (array); } static void _vala_main (void) { ManamBarFoo* foo = NULL; ManamBarFoo _tmp0_ = {0}; ManamBarFoo _tmp1_ = {0}; ManamBarFoo* _tmp2_; gint foo_length1; gint _foo_size_; ManamBarFoo _tmp3_; ManamBarFoo _tmp4_; ManamBazFaz* faz = NULL; gchar* _tmp5_; ManamBazFaz _tmp6_ = {0}; ManamBazFaz* _tmp7_; gint faz_length1; gint _faz_size_; ManamBazFaz _tmp8_; const gchar* _tmp9_; ManamBazFaz _tmp10_; memset (&_tmp0_, 0, sizeof (ManamBarFoo)); _tmp0_.i = 42; _tmp0_.j = 4711; memset (&_tmp1_, 0, sizeof (ManamBarFoo)); _tmp1_.i = 23; _tmp1_.j = 17; _tmp2_ = g_new0 (ManamBarFoo, 2); _tmp2_[0] = _tmp0_; _tmp2_[1] = _tmp1_; foo = _tmp2_; foo_length1 = 2; _foo_size_ = foo_length1; _vala_assert (foo_length1 == 2, "foo.length == 2"); _tmp3_ = foo[0]; _vala_assert (_tmp3_.i == 42, "foo[0].i == 42"); _tmp4_ = foo[1]; _vala_assert (_tmp4_.j == 17, "foo[1].j == 17"); _tmp5_ = g_strdup ("manam"); memset (&_tmp6_, 0, sizeof (ManamBazFaz)); _g_free0 (_tmp6_.s); _tmp6_.s = _tmp5_; _tmp6_.i = 4711U; _tmp7_ = g_new0 (ManamBazFaz, 1); _tmp7_[0] = _tmp6_; faz = _tmp7_; faz_length1 = 1; _faz_size_ = faz_length1; _vala_assert (faz_length1 == 1, "faz.length == 1"); _tmp8_ = faz[0]; _tmp9_ = _tmp8_.s; _vala_assert (g_strcmp0 (_tmp9_, "manam") == 0, "faz[0].s == \"manam\""); _tmp10_ = faz[0]; _vala_assert (_tmp10_.i == 4711U, "faz[0].i == 4711U"); faz = (_vala_ManamBazFaz_array_free (faz, faz_length1), NULL); foo = (g_free (foo), NULL); } int main (int argc, char ** argv) { _vala_main (); return 0; }