/* valaclassregisterfunction.c generated by valac, the Vala compiler * generated from valaclassregisterfunction.vala, do not modify */ /* valaclassregisterfunction.vala * * Copyright (C) 2006-2008 Jürg Billeter * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Author: * Jürg Billeter */ #include #include #include #include #include #include #include #define VALA_TYPE_TYPEREGISTER_FUNCTION (vala_typeregister_function_get_type ()) #define VALA_TYPEREGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunction)) #define VALA_TYPEREGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunctionClass)) #define VALA_IS_TYPEREGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION)) #define VALA_IS_TYPEREGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPEREGISTER_FUNCTION)) #define VALA_TYPEREGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunctionClass)) typedef struct _ValaTypeRegisterFunction ValaTypeRegisterFunction; typedef struct _ValaTypeRegisterFunctionClass ValaTypeRegisterFunctionClass; typedef struct _ValaTypeRegisterFunctionPrivate ValaTypeRegisterFunctionPrivate; #define VALA_TYPE_CLASS_REGISTER_FUNCTION (vala_class_register_function_get_type ()) #define VALA_CLASS_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunction)) #define VALA_CLASS_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunctionClass)) #define VALA_IS_CLASS_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CLASS_REGISTER_FUNCTION)) #define VALA_IS_CLASS_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CLASS_REGISTER_FUNCTION)) #define VALA_CLASS_REGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunctionClass)) typedef struct _ValaClassRegisterFunction ValaClassRegisterFunction; typedef struct _ValaClassRegisterFunctionClass ValaClassRegisterFunctionClass; typedef struct _ValaClassRegisterFunctionPrivate ValaClassRegisterFunctionPrivate; #define _g_free0(var) (var = (g_free (var), NULL)) #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL))) #define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL))) #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL))) #define VALA_TYPE_CCODE_BASE_MODULE (vala_ccode_base_module_get_type ()) #define VALA_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModule)) #define VALA_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass)) #define VALA_IS_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_BASE_MODULE)) #define VALA_IS_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_BASE_MODULE)) #define VALA_CCODE_BASE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass)) typedef struct _ValaCCodeBaseModule ValaCCodeBaseModule; typedef struct _ValaCCodeBaseModuleClass ValaCCodeBaseModuleClass; struct _ValaTypeRegisterFunction { GTypeInstance parent_instance; volatile int ref_count; ValaTypeRegisterFunctionPrivate * priv; }; struct _ValaTypeRegisterFunctionClass { GTypeClass parent_class; void (*finalize) (ValaTypeRegisterFunction *self); ValaTypeSymbol* (*get_type_declaration) (ValaTypeRegisterFunction* self); gchar* (*get_type_struct_name) (ValaTypeRegisterFunction* self); gchar* (*get_base_init_func_name) (ValaTypeRegisterFunction* self); gchar* (*get_class_finalize_func_name) (ValaTypeRegisterFunction* self); gchar* (*get_base_finalize_func_name) (ValaTypeRegisterFunction* self); gchar* (*get_class_init_func_name) (ValaTypeRegisterFunction* self); gchar* (*get_instance_struct_size) (ValaTypeRegisterFunction* self); gchar* (*get_instance_init_func_name) (ValaTypeRegisterFunction* self); gchar* (*get_parent_type_name) (ValaTypeRegisterFunction* self); gchar* (*get_gtype_value_table_init_function_name) (ValaTypeRegisterFunction* self); gchar* (*get_gtype_value_table_peek_pointer_function_name) (ValaTypeRegisterFunction* self); gchar* (*get_gtype_value_table_free_function_name) (ValaTypeRegisterFunction* self); gchar* (*get_gtype_value_table_copy_function_name) (ValaTypeRegisterFunction* self); gchar* (*get_gtype_value_table_lcopy_value_function_name) (ValaTypeRegisterFunction* self); gchar* (*get_gtype_value_table_collect_value_function_name) (ValaTypeRegisterFunction* self); gchar* (*get_type_flags) (ValaTypeRegisterFunction* self); ValaCCodeFragment* (*get_type_interface_init_declaration) (ValaTypeRegisterFunction* self); void (*get_type_interface_init_statements) (ValaTypeRegisterFunction* self, ValaCCodeBlock* block, gboolean plugin); ValaSymbolAccessibility (*get_accessibility) (ValaTypeRegisterFunction* self); }; struct _ValaClassRegisterFunction { ValaTypeRegisterFunction parent_instance; ValaClassRegisterFunctionPrivate * priv; }; struct _ValaClassRegisterFunctionClass { ValaTypeRegisterFunctionClass parent_class; }; struct _ValaClassRegisterFunctionPrivate { ValaClass* _class_reference; }; static gpointer vala_class_register_function_parent_class = NULL; gpointer vala_typeregister_function_ref (gpointer instance); void vala_typeregister_function_unref (gpointer instance); GParamSpec* vala_param_spec_typeregister_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void vala_value_set_typeregister_function (GValue* value, gpointer v_object); void vala_value_take_typeregister_function (GValue* value, gpointer v_object); gpointer vala_value_get_typeregister_function (const GValue* value); GType vala_typeregister_function_get_type (void) G_GNUC_CONST; GType vala_class_register_function_get_type (void) G_GNUC_CONST; #define VALA_CLASS_REGISTER_FUNCTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunctionPrivate)) enum { VALA_CLASS_REGISTER_FUNCTION_DUMMY_PROPERTY }; ValaClassRegisterFunction* vala_class_register_function_new (ValaClass* cl, ValaCodeContext* context); ValaClassRegisterFunction* vala_class_register_function_construct (GType object_type, ValaClass* cl, ValaCodeContext* context); ValaTypeRegisterFunction* vala_typeregister_function_construct (GType object_type); void vala_class_register_function_set_class_reference (ValaClassRegisterFunction* self, ValaClass* value); void vala_typeregister_function_set_context (ValaTypeRegisterFunction* self, ValaCodeContext* value); static ValaTypeSymbol* vala_class_register_function_real_get_type_declaration (ValaTypeRegisterFunction* base); ValaClass* vala_class_register_function_get_class_reference (ValaClassRegisterFunction* self); static gchar* vala_class_register_function_real_get_type_struct_name (ValaTypeRegisterFunction* base); gchar* vala_ccode_base_module_get_ccode_name (ValaCodeNode* node); static gchar* vala_class_register_function_real_get_base_init_func_name (ValaTypeRegisterFunction* base); ValaCodeContext* vala_typeregister_function_get_context (ValaTypeRegisterFunction* self); gchar* vala_ccode_base_module_get_ccode_lower_case_name (ValaCodeNode* node, const gchar* infix); static gchar* vala_class_register_function_real_get_class_finalize_func_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_base_finalize_func_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_class_init_func_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_instance_struct_size (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_instance_init_func_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_parent_type_name (ValaTypeRegisterFunction* base); gchar* vala_ccode_base_module_get_ccode_type_id (ValaCodeNode* node); static gchar* vala_class_register_function_real_get_type_flags (ValaTypeRegisterFunction* base); static ValaSymbolAccessibility vala_class_register_function_real_get_accessibility (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_gtype_value_table_init_function_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_gtype_value_table_free_function_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_gtype_value_table_copy_function_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_gtype_value_table_peek_pointer_function_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_gtype_value_table_collect_value_function_name (ValaTypeRegisterFunction* base); static gchar* vala_class_register_function_real_get_gtype_value_table_lcopy_value_function_name (ValaTypeRegisterFunction* base); static ValaCCodeFragment* vala_class_register_function_real_get_type_interface_init_declaration (ValaTypeRegisterFunction* base); static void vala_class_register_function_real_get_type_interface_init_statements (ValaTypeRegisterFunction* base, ValaCCodeBlock* block, gboolean plugin); GType vala_ccode_base_module_get_type (void) G_GNUC_CONST; void vala_ccode_base_module_register_dbus_info (ValaCCodeBaseModule* self, ValaCCodeBlock* block, ValaObjectTypeSymbol* bindable); static void vala_class_register_function_finalize (ValaTypeRegisterFunction* obj); /** * Creates a new C function to register the specified class at runtime. * * @param cl a class * @return newly created class register function */ ValaClassRegisterFunction* vala_class_register_function_construct (GType object_type, ValaClass* cl, ValaCodeContext* context) { ValaClassRegisterFunction* self = NULL; ValaClass* _tmp0_; ValaCodeContext* _tmp1_; g_return_val_if_fail (cl != NULL, NULL); g_return_val_if_fail (context != NULL, NULL); self = (ValaClassRegisterFunction*) vala_typeregister_function_construct (object_type); _tmp0_ = cl; vala_class_register_function_set_class_reference (self, _tmp0_); _tmp1_ = context; vala_typeregister_function_set_context ((ValaTypeRegisterFunction*) self, _tmp1_); return self; } ValaClassRegisterFunction* vala_class_register_function_new (ValaClass* cl, ValaCodeContext* context) { return vala_class_register_function_construct (VALA_TYPE_CLASS_REGISTER_FUNCTION, cl, context); } static gpointer _vala_code_node_ref0 (gpointer self) { return self ? vala_code_node_ref (self) : NULL; } static ValaTypeSymbol* vala_class_register_function_real_get_type_declaration (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; ValaTypeSymbol* result = NULL; ValaClass* _tmp0_; ValaTypeSymbol* _tmp1_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = _vala_code_node_ref0 ((ValaTypeSymbol*) _tmp0_); result = _tmp1_; return result; } static gchar* vala_class_register_function_real_get_type_struct_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; gchar* _tmp1_ = NULL; gchar* _tmp2_; gchar* _tmp3_ = NULL; gchar* _tmp4_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp0_); _tmp2_ = _tmp1_; _tmp3_ = g_strdup_printf ("%sClass", _tmp2_); _tmp4_ = _tmp3_; _g_free0 (_tmp2_); result = _tmp4_; return result; } static gchar* vala_class_register_function_real_get_base_init_func_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; ValaConstructor* _tmp2_; ValaConstructor* _tmp3_; gboolean _tmp12_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_class_constructor (_tmp1_); _tmp3_ = _tmp2_; if (_tmp3_ != NULL) { _tmp0_ = TRUE; } else { gboolean _tmp4_ = FALSE; ValaCodeContext* _tmp5_; ValaCodeContext* _tmp6_; gboolean _tmp7_ = FALSE; gboolean _tmp11_; _tmp5_ = vala_typeregister_function_get_context ((ValaTypeRegisterFunction*) self); _tmp6_ = _tmp5_; _tmp7_ = vala_code_context_require_glib_version (_tmp6_, 2, 24); if (!_tmp7_) { ValaClass* _tmp8_; gboolean _tmp9_; gboolean _tmp10_; _tmp8_ = self->priv->_class_reference; _tmp9_ = vala_class_get_has_class_private_fields (_tmp8_); _tmp10_ = _tmp9_; _tmp4_ = _tmp10_; } else { _tmp4_ = FALSE; } _tmp11_ = _tmp4_; _tmp0_ = _tmp11_; } _tmp12_ = _tmp0_; if (_tmp12_) { ValaClass* _tmp13_; gchar* _tmp14_ = NULL; gchar* _tmp15_; gchar* _tmp16_ = NULL; gchar* _tmp17_; _tmp13_ = self->priv->_class_reference; _tmp14_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp13_, NULL); _tmp15_ = _tmp14_; _tmp16_ = g_strdup_printf ("%s_base_init", _tmp15_); _tmp17_ = _tmp16_; _g_free0 (_tmp15_); result = _tmp17_; return result; } else { gchar* _tmp18_; _tmp18_ = g_strdup ("NULL"); result = _tmp18_; return result; } } static gchar* vala_class_register_function_real_get_class_finalize_func_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; ValaDestructor* _tmp1_; ValaDestructor* _tmp2_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_class_get_static_destructor (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_ != NULL) { ValaClass* _tmp3_; gchar* _tmp4_ = NULL; gchar* _tmp5_; gchar* _tmp6_ = NULL; gchar* _tmp7_; _tmp3_ = self->priv->_class_reference; _tmp4_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp3_, NULL); _tmp5_ = _tmp4_; _tmp6_ = g_strdup_printf ("%s_class_finalize", _tmp5_); _tmp7_ = _tmp6_; _g_free0 (_tmp5_); result = _tmp7_; return result; } else { gchar* _tmp8_; _tmp8_ = g_strdup ("NULL"); result = _tmp8_; return result; } } static gchar* vala_class_register_function_real_get_base_finalize_func_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; ValaDestructor* _tmp2_; ValaDestructor* _tmp3_; gboolean _tmp12_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_class_destructor (_tmp1_); _tmp3_ = _tmp2_; if (_tmp3_ != NULL) { _tmp0_ = TRUE; } else { gboolean _tmp4_ = FALSE; ValaCodeContext* _tmp5_; ValaCodeContext* _tmp6_; gboolean _tmp7_ = FALSE; gboolean _tmp11_; _tmp5_ = vala_typeregister_function_get_context ((ValaTypeRegisterFunction*) self); _tmp6_ = _tmp5_; _tmp7_ = vala_code_context_require_glib_version (_tmp6_, 2, 24); if (!_tmp7_) { ValaClass* _tmp8_; gboolean _tmp9_; gboolean _tmp10_; _tmp8_ = self->priv->_class_reference; _tmp9_ = vala_class_get_has_class_private_fields (_tmp8_); _tmp10_ = _tmp9_; _tmp4_ = _tmp10_; } else { _tmp4_ = FALSE; } _tmp11_ = _tmp4_; _tmp0_ = _tmp11_; } _tmp12_ = _tmp0_; if (_tmp12_) { ValaClass* _tmp13_; gchar* _tmp14_ = NULL; gchar* _tmp15_; gchar* _tmp16_ = NULL; gchar* _tmp17_; _tmp13_ = self->priv->_class_reference; _tmp14_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp13_, NULL); _tmp15_ = _tmp14_; _tmp16_ = g_strdup_printf ("%s_base_finalize", _tmp15_); _tmp17_ = _tmp16_; _g_free0 (_tmp15_); result = _tmp17_; return result; } else { gchar* _tmp18_; _tmp18_ = g_strdup ("NULL"); result = _tmp18_; return result; } } static gchar* vala_class_register_function_real_get_class_init_func_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; gchar* _tmp1_ = NULL; gchar* _tmp2_; gchar* _tmp3_ = NULL; gchar* _tmp4_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp0_, NULL); _tmp2_ = _tmp1_; _tmp3_ = g_strdup_printf ("%s_class_init", _tmp2_); _tmp4_ = _tmp3_; _g_free0 (_tmp2_); result = _tmp4_; return result; } static gchar* vala_class_register_function_real_get_instance_struct_size (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; gchar* _tmp1_ = NULL; gchar* _tmp2_; gchar* _tmp3_ = NULL; gchar* _tmp4_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp0_); _tmp2_ = _tmp1_; _tmp3_ = g_strdup_printf ("sizeof (%s)", _tmp2_); _tmp4_ = _tmp3_; _g_free0 (_tmp2_); result = _tmp4_; return result; } static gchar* vala_class_register_function_real_get_instance_init_func_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; gchar* _tmp1_ = NULL; gchar* _tmp2_; gchar* _tmp3_ = NULL; gchar* _tmp4_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp0_, NULL); _tmp2_ = _tmp1_; _tmp3_ = g_strdup_printf ("%s_instance_init", _tmp2_); _tmp4_ = _tmp3_; _g_free0 (_tmp2_); result = _tmp4_; return result; } static gchar* vala_class_register_function_real_get_parent_type_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; ValaClass* _tmp1_; ValaClass* _tmp2_; gchar* _tmp3_ = NULL; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_class_get_base_class (_tmp0_); _tmp2_ = _tmp1_; _tmp3_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp2_); result = _tmp3_; return result; } static gchar* vala_class_register_function_real_get_type_flags (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; ValaClass* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_class_get_is_abstract (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_) { gchar* _tmp3_; _tmp3_ = g_strdup ("G_TYPE_FLAG_ABSTRACT"); result = _tmp3_; return result; } else { gchar* _tmp4_; _tmp4_ = g_strdup ("0"); result = _tmp4_; return result; } } static ValaSymbolAccessibility vala_class_register_function_real_get_accessibility (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; ValaSymbolAccessibility result = 0; ValaClass* _tmp0_; ValaSymbolAccessibility _tmp1_; ValaSymbolAccessibility _tmp2_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_symbol_get_access ((ValaSymbol*) _tmp0_); _tmp2_ = _tmp1_; result = _tmp2_; return result; } static gchar* vala_class_register_function_real_get_gtype_value_table_init_function_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp7_; gboolean is_fundamental; gboolean _tmp8_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_is_compact (_tmp1_); _tmp3_ = _tmp2_; if (!_tmp3_) { ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp4_ = self->priv->_class_reference; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; _tmp0_ = _tmp6_ == NULL; } else { _tmp0_ = FALSE; } _tmp7_ = _tmp0_; is_fundamental = _tmp7_; _tmp8_ = is_fundamental; if (_tmp8_) { ValaClass* _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_ = NULL; gchar* _tmp13_; _tmp9_ = self->priv->_class_reference; _tmp10_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp9_, "value_"); _tmp11_ = _tmp10_; _tmp12_ = g_strdup_printf ("%s_init", _tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); result = _tmp13_; return result; } result = NULL; return result; } static gchar* vala_class_register_function_real_get_gtype_value_table_free_function_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp7_; gboolean is_fundamental; gboolean _tmp8_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_is_compact (_tmp1_); _tmp3_ = _tmp2_; if (!_tmp3_) { ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp4_ = self->priv->_class_reference; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; _tmp0_ = _tmp6_ == NULL; } else { _tmp0_ = FALSE; } _tmp7_ = _tmp0_; is_fundamental = _tmp7_; _tmp8_ = is_fundamental; if (_tmp8_) { ValaClass* _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_ = NULL; gchar* _tmp13_; _tmp9_ = self->priv->_class_reference; _tmp10_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp9_, "value_"); _tmp11_ = _tmp10_; _tmp12_ = g_strdup_printf ("%s_free_value", _tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); result = _tmp13_; return result; } result = NULL; return result; } static gchar* vala_class_register_function_real_get_gtype_value_table_copy_function_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp7_; gboolean is_fundamental; gboolean _tmp8_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_is_compact (_tmp1_); _tmp3_ = _tmp2_; if (!_tmp3_) { ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp4_ = self->priv->_class_reference; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; _tmp0_ = _tmp6_ == NULL; } else { _tmp0_ = FALSE; } _tmp7_ = _tmp0_; is_fundamental = _tmp7_; _tmp8_ = is_fundamental; if (_tmp8_) { ValaClass* _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_ = NULL; gchar* _tmp13_; _tmp9_ = self->priv->_class_reference; _tmp10_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp9_, "value_"); _tmp11_ = _tmp10_; _tmp12_ = g_strdup_printf ("%s_copy_value", _tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); result = _tmp13_; return result; } result = NULL; return result; } static gchar* vala_class_register_function_real_get_gtype_value_table_peek_pointer_function_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp7_; gboolean is_fundamental; gboolean _tmp8_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_is_compact (_tmp1_); _tmp3_ = _tmp2_; if (!_tmp3_) { ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp4_ = self->priv->_class_reference; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; _tmp0_ = _tmp6_ == NULL; } else { _tmp0_ = FALSE; } _tmp7_ = _tmp0_; is_fundamental = _tmp7_; _tmp8_ = is_fundamental; if (_tmp8_) { ValaClass* _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_ = NULL; gchar* _tmp13_; _tmp9_ = self->priv->_class_reference; _tmp10_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp9_, "value_"); _tmp11_ = _tmp10_; _tmp12_ = g_strdup_printf ("%s_peek_pointer", _tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); result = _tmp13_; return result; } result = NULL; return result; } static gchar* vala_class_register_function_real_get_gtype_value_table_collect_value_function_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp7_; gboolean is_fundamental; gboolean _tmp8_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_is_compact (_tmp1_); _tmp3_ = _tmp2_; if (!_tmp3_) { ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp4_ = self->priv->_class_reference; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; _tmp0_ = _tmp6_ == NULL; } else { _tmp0_ = FALSE; } _tmp7_ = _tmp0_; is_fundamental = _tmp7_; _tmp8_ = is_fundamental; if (_tmp8_) { ValaClass* _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_ = NULL; gchar* _tmp13_; _tmp9_ = self->priv->_class_reference; _tmp10_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp9_, "value_"); _tmp11_ = _tmp10_; _tmp12_ = g_strdup_printf ("%s_collect_value", _tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); result = _tmp13_; return result; } result = NULL; return result; } static gchar* vala_class_register_function_real_get_gtype_value_table_lcopy_value_function_name (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaClass* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp7_; gboolean is_fundamental; gboolean _tmp8_; self = (ValaClassRegisterFunction*) base; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_is_compact (_tmp1_); _tmp3_ = _tmp2_; if (!_tmp3_) { ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp4_ = self->priv->_class_reference; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; _tmp0_ = _tmp6_ == NULL; } else { _tmp0_ = FALSE; } _tmp7_ = _tmp0_; is_fundamental = _tmp7_; _tmp8_ = is_fundamental; if (_tmp8_) { ValaClass* _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_ = NULL; gchar* _tmp13_; _tmp9_ = self->priv->_class_reference; _tmp10_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp9_, "value_"); _tmp11_ = _tmp10_; _tmp12_ = g_strdup_printf ("%s_lcopy_value", _tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); result = _tmp13_; return result; } result = NULL; return result; } static ValaCCodeFragment* vala_class_register_function_real_get_type_interface_init_declaration (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; ValaCCodeFragment* result = NULL; ValaCCodeFragment* _tmp0_; ValaCCodeFragment* frag; self = (ValaClassRegisterFunction*) base; _tmp0_ = vala_ccode_fragment_new (); frag = _tmp0_; { ValaClass* _tmp1_; ValaList* _tmp2_ = NULL; ValaList* _base_type_list; ValaList* _tmp3_; gint _tmp4_; gint _tmp5_; gint _base_type_size; gint _base_type_index; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_base_types (_tmp1_); _base_type_list = _tmp2_; _tmp3_ = _base_type_list; _tmp4_ = vala_collection_get_size ((ValaCollection*) _tmp3_); _tmp5_ = _tmp4_; _base_type_size = _tmp5_; _base_type_index = -1; while (TRUE) { gint _tmp6_; gint _tmp7_; gint _tmp8_; ValaList* _tmp9_; gint _tmp10_; gpointer _tmp11_ = NULL; ValaDataType* base_type; ValaDataType* _tmp12_; ValaTypeSymbol* _tmp13_; ValaTypeSymbol* _tmp14_; ValaDataType* _tmp15_; ValaTypeSymbol* _tmp16_; ValaTypeSymbol* _tmp17_; ValaInterface* _tmp18_; ValaInterface* iface; ValaInterface* _tmp19_; gchar* _tmp20_ = NULL; gchar* _tmp21_; gchar* _tmp22_ = NULL; gchar* _tmp23_; gchar* iface_info_name; ValaCCodeDeclaration* _tmp24_; ValaCCodeDeclaration* ctypedecl; ValaCCodeDeclaration* _tmp25_; ValaCCodeDeclaration* _tmp26_; const gchar* _tmp27_; ValaClass* _tmp28_; gchar* _tmp29_ = NULL; gchar* _tmp30_; ValaInterface* _tmp31_; gchar* _tmp32_ = NULL; gchar* _tmp33_; gchar* _tmp34_ = NULL; gchar* _tmp35_; ValaCCodeConstant* _tmp36_; ValaCCodeConstant* _tmp37_; ValaCCodeVariableDeclarator* _tmp38_; ValaCCodeVariableDeclarator* _tmp39_; ValaCCodeFragment* _tmp40_; ValaCCodeDeclaration* _tmp41_; _tmp6_ = _base_type_index; _base_type_index = _tmp6_ + 1; _tmp7_ = _base_type_index; _tmp8_ = _base_type_size; if (!(_tmp7_ < _tmp8_)) { break; } _tmp9_ = _base_type_list; _tmp10_ = _base_type_index; _tmp11_ = vala_list_get (_tmp9_, _tmp10_); base_type = (ValaDataType*) _tmp11_; _tmp12_ = base_type; _tmp13_ = vala_data_type_get_data_type (_tmp12_); _tmp14_ = _tmp13_; if (!VALA_IS_INTERFACE (_tmp14_)) { _vala_code_node_unref0 (base_type); continue; } _tmp15_ = base_type; _tmp16_ = vala_data_type_get_data_type (_tmp15_); _tmp17_ = _tmp16_; _tmp18_ = _vala_code_node_ref0 (VALA_INTERFACE (_tmp17_)); iface = _tmp18_; _tmp19_ = iface; _tmp20_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp19_, NULL); _tmp21_ = _tmp20_; _tmp22_ = g_strdup_printf ("%s_info", _tmp21_); _tmp23_ = _tmp22_; _g_free0 (_tmp21_); iface_info_name = _tmp23_; _tmp24_ = vala_ccode_declaration_new ("const GInterfaceInfo"); ctypedecl = _tmp24_; _tmp25_ = ctypedecl; vala_ccode_declaration_set_modifiers (_tmp25_, VALA_CCODE_MODIFIERS_STATIC); _tmp26_ = ctypedecl; _tmp27_ = iface_info_name; _tmp28_ = self->priv->_class_reference; _tmp29_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp28_, NULL); _tmp30_ = _tmp29_; _tmp31_ = iface; _tmp32_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp31_, NULL); _tmp33_ = _tmp32_; _tmp34_ = g_strdup_printf ("{ (GInterfaceInitFunc) %s_%s_interface_init, (GInterfaceFinalizeFunc) " \ "NULL, NULL}", _tmp30_, _tmp33_); _tmp35_ = _tmp34_; _tmp36_ = vala_ccode_constant_new (_tmp35_); _tmp37_ = _tmp36_; _tmp38_ = vala_ccode_variable_declarator_new (_tmp27_, (ValaCCodeExpression*) _tmp37_, NULL); _tmp39_ = _tmp38_; vala_ccode_declaration_add_declarator (_tmp26_, (ValaCCodeDeclarator*) _tmp39_); _vala_ccode_node_unref0 (_tmp39_); _vala_ccode_node_unref0 (_tmp37_); _g_free0 (_tmp35_); _g_free0 (_tmp33_); _g_free0 (_tmp30_); _tmp40_ = frag; _tmp41_ = ctypedecl; vala_ccode_fragment_append (_tmp40_, (ValaCCodeNode*) _tmp41_); _vala_ccode_node_unref0 (ctypedecl); _g_free0 (iface_info_name); _vala_code_node_unref0 (iface); _vala_code_node_unref0 (base_type); } _vala_iterable_unref0 (_base_type_list); } result = frag; return result; } static void vala_class_register_function_real_get_type_interface_init_statements (ValaTypeRegisterFunction* base, ValaCCodeBlock* block, gboolean plugin) { ValaClassRegisterFunction * self; ValaCodeContext* _tmp83_; ValaCodeContext* _tmp84_; ValaCodeGenerator* _tmp85_; ValaCodeGenerator* _tmp86_; ValaCCodeBlock* _tmp87_; ValaClass* _tmp88_; self = (ValaClassRegisterFunction*) base; g_return_if_fail (block != NULL); { ValaClass* _tmp0_; ValaList* _tmp1_ = NULL; ValaList* _base_type_list; ValaList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _base_type_size; gint _base_type_index; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_class_get_base_types (_tmp0_); _base_type_list = _tmp1_; _tmp2_ = _base_type_list; _tmp3_ = vala_collection_get_size ((ValaCollection*) _tmp2_); _tmp4_ = _tmp3_; _base_type_size = _tmp4_; _base_type_index = -1; while (TRUE) { gint _tmp5_; gint _tmp6_; gint _tmp7_; ValaList* _tmp8_; gint _tmp9_; gpointer _tmp10_ = NULL; ValaDataType* base_type; ValaDataType* _tmp11_; ValaTypeSymbol* _tmp12_; ValaTypeSymbol* _tmp13_; ValaDataType* _tmp14_; ValaTypeSymbol* _tmp15_; ValaTypeSymbol* _tmp16_; ValaInterface* _tmp17_; ValaInterface* iface; ValaInterface* _tmp18_; gchar* _tmp19_ = NULL; gchar* _tmp20_; gchar* _tmp21_ = NULL; gchar* _tmp22_; gchar* iface_info_name; gboolean _tmp23_; _tmp5_ = _base_type_index; _base_type_index = _tmp5_ + 1; _tmp6_ = _base_type_index; _tmp7_ = _base_type_size; if (!(_tmp6_ < _tmp7_)) { break; } _tmp8_ = _base_type_list; _tmp9_ = _base_type_index; _tmp10_ = vala_list_get (_tmp8_, _tmp9_); base_type = (ValaDataType*) _tmp10_; _tmp11_ = base_type; _tmp12_ = vala_data_type_get_data_type (_tmp11_); _tmp13_ = _tmp12_; if (!VALA_IS_INTERFACE (_tmp13_)) { _vala_code_node_unref0 (base_type); continue; } _tmp14_ = base_type; _tmp15_ = vala_data_type_get_data_type (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = _vala_code_node_ref0 (VALA_INTERFACE (_tmp16_)); iface = _tmp17_; _tmp18_ = iface; _tmp19_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp18_, NULL); _tmp20_ = _tmp19_; _tmp21_ = g_strdup_printf ("%s_info", _tmp20_); _tmp22_ = _tmp21_; _g_free0 (_tmp20_); iface_info_name = _tmp22_; _tmp23_ = plugin; if (!_tmp23_) { ValaCCodeIdentifier* _tmp24_; ValaCCodeIdentifier* _tmp25_; ValaCCodeFunctionCall* _tmp26_; ValaCCodeFunctionCall* _tmp27_; ValaCCodeFunctionCall* reg_call; ValaCCodeFunctionCall* _tmp28_; ValaClass* _tmp29_; gchar* _tmp30_ = NULL; gchar* _tmp31_; gchar* _tmp32_ = NULL; gchar* _tmp33_; ValaCCodeIdentifier* _tmp34_; ValaCCodeIdentifier* _tmp35_; ValaCCodeFunctionCall* _tmp36_; ValaInterface* _tmp37_; gchar* _tmp38_ = NULL; gchar* _tmp39_; ValaCCodeIdentifier* _tmp40_; ValaCCodeIdentifier* _tmp41_; ValaCCodeFunctionCall* _tmp42_; const gchar* _tmp43_; gchar* _tmp44_ = NULL; gchar* _tmp45_; ValaCCodeIdentifier* _tmp46_; ValaCCodeIdentifier* _tmp47_; ValaCCodeBlock* _tmp48_; ValaCCodeFunctionCall* _tmp49_; ValaCCodeExpressionStatement* _tmp50_; ValaCCodeExpressionStatement* _tmp51_; _tmp24_ = vala_ccode_identifier_new ("g_type_add_interface_static"); _tmp25_ = _tmp24_; _tmp26_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp25_); _tmp27_ = _tmp26_; _vala_ccode_node_unref0 (_tmp25_); reg_call = _tmp27_; _tmp28_ = reg_call; _tmp29_ = self->priv->_class_reference; _tmp30_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp29_, NULL); _tmp31_ = _tmp30_; _tmp32_ = g_strdup_printf ("%s_type_id", _tmp31_); _tmp33_ = _tmp32_; _tmp34_ = vala_ccode_identifier_new (_tmp33_); _tmp35_ = _tmp34_; vala_ccode_function_call_add_argument (_tmp28_, (ValaCCodeExpression*) _tmp35_); _vala_ccode_node_unref0 (_tmp35_); _g_free0 (_tmp33_); _g_free0 (_tmp31_); _tmp36_ = reg_call; _tmp37_ = iface; _tmp38_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp37_); _tmp39_ = _tmp38_; _tmp40_ = vala_ccode_identifier_new (_tmp39_); _tmp41_ = _tmp40_; vala_ccode_function_call_add_argument (_tmp36_, (ValaCCodeExpression*) _tmp41_); _vala_ccode_node_unref0 (_tmp41_); _g_free0 (_tmp39_); _tmp42_ = reg_call; _tmp43_ = iface_info_name; _tmp44_ = g_strdup_printf ("&%s", _tmp43_); _tmp45_ = _tmp44_; _tmp46_ = vala_ccode_identifier_new (_tmp45_); _tmp47_ = _tmp46_; vala_ccode_function_call_add_argument (_tmp42_, (ValaCCodeExpression*) _tmp47_); _vala_ccode_node_unref0 (_tmp47_); _g_free0 (_tmp45_); _tmp48_ = block; _tmp49_ = reg_call; _tmp50_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp49_); _tmp51_ = _tmp50_; vala_ccode_block_add_statement (_tmp48_, (ValaCCodeNode*) _tmp51_); _vala_ccode_node_unref0 (_tmp51_); _vala_ccode_node_unref0 (reg_call); } else { ValaCCodeIdentifier* _tmp52_; ValaCCodeIdentifier* _tmp53_; ValaCCodeFunctionCall* _tmp54_; ValaCCodeFunctionCall* _tmp55_; ValaCCodeFunctionCall* reg_call; ValaCCodeFunctionCall* _tmp56_; ValaCCodeIdentifier* _tmp57_; ValaCCodeIdentifier* _tmp58_; ValaCCodeFunctionCall* _tmp59_; ValaClass* _tmp60_; gchar* _tmp61_ = NULL; gchar* _tmp62_; gchar* _tmp63_ = NULL; gchar* _tmp64_; ValaCCodeIdentifier* _tmp65_; ValaCCodeIdentifier* _tmp66_; ValaCCodeFunctionCall* _tmp67_; ValaInterface* _tmp68_; gchar* _tmp69_ = NULL; gchar* _tmp70_; ValaCCodeIdentifier* _tmp71_; ValaCCodeIdentifier* _tmp72_; ValaCCodeFunctionCall* _tmp73_; const gchar* _tmp74_; gchar* _tmp75_ = NULL; gchar* _tmp76_; ValaCCodeIdentifier* _tmp77_; ValaCCodeIdentifier* _tmp78_; ValaCCodeBlock* _tmp79_; ValaCCodeFunctionCall* _tmp80_; ValaCCodeExpressionStatement* _tmp81_; ValaCCodeExpressionStatement* _tmp82_; _tmp52_ = vala_ccode_identifier_new ("g_type_module_add_interface"); _tmp53_ = _tmp52_; _tmp54_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp53_); _tmp55_ = _tmp54_; _vala_ccode_node_unref0 (_tmp53_); reg_call = _tmp55_; _tmp56_ = reg_call; _tmp57_ = vala_ccode_identifier_new ("module"); _tmp58_ = _tmp57_; vala_ccode_function_call_add_argument (_tmp56_, (ValaCCodeExpression*) _tmp58_); _vala_ccode_node_unref0 (_tmp58_); _tmp59_ = reg_call; _tmp60_ = self->priv->_class_reference; _tmp61_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp60_, NULL); _tmp62_ = _tmp61_; _tmp63_ = g_strdup_printf ("%s_type_id", _tmp62_); _tmp64_ = _tmp63_; _tmp65_ = vala_ccode_identifier_new (_tmp64_); _tmp66_ = _tmp65_; vala_ccode_function_call_add_argument (_tmp59_, (ValaCCodeExpression*) _tmp66_); _vala_ccode_node_unref0 (_tmp66_); _g_free0 (_tmp64_); _g_free0 (_tmp62_); _tmp67_ = reg_call; _tmp68_ = iface; _tmp69_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp68_); _tmp70_ = _tmp69_; _tmp71_ = vala_ccode_identifier_new (_tmp70_); _tmp72_ = _tmp71_; vala_ccode_function_call_add_argument (_tmp67_, (ValaCCodeExpression*) _tmp72_); _vala_ccode_node_unref0 (_tmp72_); _g_free0 (_tmp70_); _tmp73_ = reg_call; _tmp74_ = iface_info_name; _tmp75_ = g_strdup_printf ("&%s", _tmp74_); _tmp76_ = _tmp75_; _tmp77_ = vala_ccode_identifier_new (_tmp76_); _tmp78_ = _tmp77_; vala_ccode_function_call_add_argument (_tmp73_, (ValaCCodeExpression*) _tmp78_); _vala_ccode_node_unref0 (_tmp78_); _g_free0 (_tmp76_); _tmp79_ = block; _tmp80_ = reg_call; _tmp81_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp80_); _tmp82_ = _tmp81_; vala_ccode_block_add_statement (_tmp79_, (ValaCCodeNode*) _tmp82_); _vala_ccode_node_unref0 (_tmp82_); _vala_ccode_node_unref0 (reg_call); } _g_free0 (iface_info_name); _vala_code_node_unref0 (iface); _vala_code_node_unref0 (base_type); } _vala_iterable_unref0 (_base_type_list); } _tmp83_ = vala_typeregister_function_get_context ((ValaTypeRegisterFunction*) self); _tmp84_ = _tmp83_; _tmp85_ = vala_code_context_get_codegen (_tmp84_); _tmp86_ = _tmp85_; _tmp87_ = block; _tmp88_ = self->priv->_class_reference; vala_ccode_base_module_register_dbus_info (VALA_CCODE_BASE_MODULE (_tmp86_), _tmp87_, (ValaObjectTypeSymbol*) _tmp88_); } ValaClass* vala_class_register_function_get_class_reference (ValaClassRegisterFunction* self) { ValaClass* result; ValaClass* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_class_reference; result = _tmp0_; return result; } void vala_class_register_function_set_class_reference (ValaClassRegisterFunction* self, ValaClass* value) { ValaClass* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = value; self->priv->_class_reference = _tmp0_; } static void vala_class_register_function_class_init (ValaClassRegisterFunctionClass * klass) { vala_class_register_function_parent_class = g_type_class_peek_parent (klass); VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->finalize = vala_class_register_function_finalize; g_type_class_add_private (klass, sizeof (ValaClassRegisterFunctionPrivate)); VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_type_declaration = vala_class_register_function_real_get_type_declaration; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_type_struct_name = vala_class_register_function_real_get_type_struct_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_base_init_func_name = vala_class_register_function_real_get_base_init_func_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_class_finalize_func_name = vala_class_register_function_real_get_class_finalize_func_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_base_finalize_func_name = vala_class_register_function_real_get_base_finalize_func_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_class_init_func_name = vala_class_register_function_real_get_class_init_func_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_instance_struct_size = vala_class_register_function_real_get_instance_struct_size; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_instance_init_func_name = vala_class_register_function_real_get_instance_init_func_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_parent_type_name = vala_class_register_function_real_get_parent_type_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_type_flags = vala_class_register_function_real_get_type_flags; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_accessibility = vala_class_register_function_real_get_accessibility; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_gtype_value_table_init_function_name = vala_class_register_function_real_get_gtype_value_table_init_function_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_gtype_value_table_free_function_name = vala_class_register_function_real_get_gtype_value_table_free_function_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_gtype_value_table_copy_function_name = vala_class_register_function_real_get_gtype_value_table_copy_function_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_gtype_value_table_peek_pointer_function_name = vala_class_register_function_real_get_gtype_value_table_peek_pointer_function_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_gtype_value_table_collect_value_function_name = vala_class_register_function_real_get_gtype_value_table_collect_value_function_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_gtype_value_table_lcopy_value_function_name = vala_class_register_function_real_get_gtype_value_table_lcopy_value_function_name; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_type_interface_init_declaration = vala_class_register_function_real_get_type_interface_init_declaration; VALA_TYPEREGISTER_FUNCTION_CLASS (klass)->get_type_interface_init_statements = vala_class_register_function_real_get_type_interface_init_statements; } static void vala_class_register_function_instance_init (ValaClassRegisterFunction * self) { self->priv = VALA_CLASS_REGISTER_FUNCTION_GET_PRIVATE (self); } static void vala_class_register_function_finalize (ValaTypeRegisterFunction* obj) { ValaClassRegisterFunction * self; self = VALA_CLASS_REGISTER_FUNCTION (obj); VALA_TYPEREGISTER_FUNCTION_CLASS (vala_class_register_function_parent_class)->finalize (obj); } /** * C function to register a class at runtime. */ GType vala_class_register_function_get_type (void) { static volatile gsize vala_class_register_function_type_id__volatile = 0; if (g_once_init_enter (&vala_class_register_function_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (ValaClassRegisterFunctionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_class_register_function_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaClassRegisterFunction), 0, (GInstanceInitFunc) vala_class_register_function_instance_init, NULL }; GType vala_class_register_function_type_id; vala_class_register_function_type_id = g_type_register_static (VALA_TYPE_TYPEREGISTER_FUNCTION, "ValaClassRegisterFunction", &g_define_type_info, 0); g_once_init_leave (&vala_class_register_function_type_id__volatile, vala_class_register_function_type_id); } return vala_class_register_function_type_id__volatile; }