return "%s_GET_INTERFACE".printf (element.get_upper_case_cname ());
}
+ private string? get_free_function_name (Vala.Class element) {
+ if (!element.is_compact) {
+ return null;
+ }
+
+ return element.get_free_function ();
+ }
+
+ private string? get_finalize_function_name (Vala.Class element) {
+ if (!element.is_fundamental ()) {
+ return null;
+ }
+
+ return "%s_finalize".printf (element.get_lower_case_cname ());
+ }
+
private string get_quark_function_name (Vala.ErrorDomain element) {
return element.get_lower_case_cprefix () + "quark";
}
bool is_basic_type = element.base_class == null && element.name == "string";
- Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, element.get_cname (), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), element.get_type_id (), element.get_param_spec_function (), element.get_ref_function (), element.get_unref_function (), element.get_take_value_function (), element.get_get_value_function (), element.get_set_value_function (), element.is_fundamental (), element.is_abstract, is_basic_type, element);
+ Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, element.get_cname (), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), element.get_type_id (), element.get_param_spec_function (), element.get_ref_function (), element.get_unref_function (), get_free_function_name (element), get_finalize_function_name (element), element.get_take_value_function (), element.get_get_value_function (), element.get_set_value_function (), element.is_fundamental (), element.is_abstract, is_basic_type, element);
symbol_map.set (element, node);
parent.add_child (node);
}
}
+ private string? get_free_function_name (Vala.Class element) {
+ if (!element.is_compact) {
+ return null;
+ }
+
+ return element.get_free_function ();
+ }
+
+ private string? get_finalize_function_name (Vala.Class element) {
+ if (!element.is_fundamental ()) {
+ return null;
+ }
+
+ return "%s_finalize".printf (element.get_lower_case_cname ());
+ }
+
private string? get_quark_macro_name (Vala.ErrorDomain element) {
return element.get_upper_case_cname ();
}
bool is_basic_type = element.base_class == null && element.name == "string";
- Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, element.get_cname (), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), element.get_type_id (), element.get_param_spec_function (), element.get_ref_function (), element.get_unref_function (), element.get_take_value_function (), element.get_get_value_function (), element.get_set_value_function (), element.is_fundamental (), element.is_abstract, is_basic_type, element);
+ Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, element.get_cname (), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), element.get_type_id (), element.get_param_spec_function (), element.get_ref_function (), element.get_unref_function (), get_free_function_name (element), get_finalize_function_name (element), element.get_take_value_function (), element.get_get_value_function (), element.get_set_value_function (), element.is_fundamental (), element.is_abstract, is_basic_type, element);
symbol_map.set (element, node);
parent.add_child (node);
#endif
}
+ private string? get_finalize_function_name (Vala.Class element) {
+ if (!element.is_fundamental ()) {
+ return null;
+ }
+
+#if VALA_0_13_0 || VALA_0_13_1
+ return "%s_finalize".printf (element.get_lower_case_cname ());
+#else
+ return "%s_finalize".printf (Vala.CCodeBaseModule.get_ccode_lower_case_name (element, null));
+#endif
+ }
+
+ private string? get_free_function_name (Vala.Class element) {
+ if (!element.is_compact) {
+ return null;
+ }
+
+#if VALA_0_13_0 || VALA_0_13_1
+ return element.get_free_function ();
+#else
+ return Vala.CCodeBaseModule.get_ccode_free_function (element);
+#endif
+ }
+
private string get_finish_name (Vala.Method m) {
#if VALA_0_13_0 || VALA_0_13_1
return m.get_finish_cname ();
bool is_basic_type = element.base_class == null && element.name == "string";
- Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, get_cname (element), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), get_ccode_type_id (element), get_param_spec_function (element), get_ref_function (element), get_unref_function (element), get_take_value_function (element), get_get_value_function (element), get_set_value_function (element), element.is_fundamental (), element.is_abstract, is_basic_type, element);
+ Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, get_cname (element), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), get_ccode_type_id (element), get_param_spec_function (element), get_ref_function (element), get_unref_function (element), get_free_function_name (element), get_finalize_function_name (element), get_take_value_function (element), get_get_value_function (element), get_set_value_function (element), element.is_fundamental (), element.is_abstract, is_basic_type, element);
symbol_map.set (element, node);
parent.add_child (node);
return Vala.CCodeBaseModule.get_ccode_unref_function (sym);
}
+ private string? get_finalize_function_name (Vala.Class element) {
+ if (!element.is_fundamental ()) {
+ return null;
+ }
+
+ return "%s_finalize".printf (Vala.CCodeBaseModule.get_ccode_lower_case_name (element, null));
+ }
+
+ private string? get_free_function_name (Vala.Class element) {
+ if (!element.is_compact) {
+ return null;
+ }
+
+ return Vala.CCodeBaseModule.get_ccode_free_function (element);
+ }
+
private string? get_finish_name (Vala.Method m) {
return Vala.CCodeBaseModule.get_ccode_finish_name (m);
}
bool is_basic_type = element.base_class == null && element.name == "string";
- Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, get_cname (element), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), get_ccode_type_id (element), get_param_spec_function (element), get_ref_function (element), get_unref_function (element), get_take_value_function (element), get_get_value_function (element), get_set_value_function (element), element.is_fundamental (), element.is_abstract, is_basic_type, element);
+ Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, get_cname (element), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), get_ccode_type_id (element), get_param_spec_function (element), get_ref_function (element), get_unref_function (element), get_free_function_name (element), get_finalize_function_name (element), get_take_value_function (element), get_get_value_function (element), get_set_value_function (element), element.is_fundamental (), element.is_abstract, is_basic_type, element);
symbol_map.set (element, node);
parent.add_child (node);
return Vala.CCodeBaseModule.get_ccode_unref_function (sym);
}
+ private string? get_finalize_function_name (Vala.Class element) {
+ if (!element.is_fundamental ()) {
+ return null;
+ }
+
+ return "%s_finalize".printf (Vala.CCodeBaseModule.get_ccode_lower_case_name (element, null));
+ }
+
+ private string? get_free_function_name (Vala.Class element) {
+ if (!element.is_compact) {
+ return null;
+ }
+
+ return Vala.CCodeBaseModule.get_ccode_free_function (element);
+ }
+
private string? get_finish_name (Vala.Method m) {
return Vala.CCodeBaseModule.get_ccode_finish_name (m);
}
bool is_basic_type = element.base_class == null && element.name == "string";
- Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, get_cname (element), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), get_ccode_type_id (element), get_param_spec_function (element), get_ref_function (element), get_unref_function (element), get_take_value_function (element), get_get_value_function (element), get_set_value_function (element), element.is_fundamental (), element.is_abstract, is_basic_type, element);
+ Class node = new Class (parent, file, element.name, get_access_modifier (element), comment, get_cname (element), get_private_cname (element), get_class_macro_name (element), get_type_macro_name (element), get_is_type_macro_name (element), get_type_cast_macro_name (element), get_type_function_name (element), get_class_type_macro_name (element), get_is_class_type_macro_name (element), Vala.GDBusModule.get_dbus_name (element), get_ccode_type_id (element), get_param_spec_function (element), get_ref_function (element), get_unref_function (element), get_free_function_name (element), get_finalize_function_name (element), get_take_value_function (element), get_get_value_function (element), get_set_value_function (element), element.is_fundamental (), element.is_abstract, is_basic_type, element);
symbol_map.set (element, node);
parent.add_child (node);
private string? get_value_function_cname;
private string? set_value_function_cname;
private string? unref_function_name;
- private string? param_spec_function_name;
private string? ref_function_name;
+ private string? free_function_name;
+ private string? finalize_function_name;
+ private string? param_spec_function_name;
private string? type_id;
private string? is_class_type_macro_name;
private string? class_type_macro_name;
private string? private_cname;
private string? cname;
- public Class (Node parent, SourceFile file, string name, SymbolAccessibility accessibility, SourceComment? comment, string? cname, string? private_cname, string? class_macro_name, string? type_macro_name, string? is_type_macro_name, string? type_cast_macro_name, string? type_function_name, string? class_type_macro_name, string? is_class_type_macro_name, string? dbus_name, string? type_id, string? param_spec_function_name, string? ref_function_name, string? unref_function_name, string? take_value_function_cname, string? get_value_function_cname, string? set_value_function_cname, bool is_fundamental, bool is_abstract, bool is_basic_type, void* data) {
+ public Class (Node parent, SourceFile file, string name, SymbolAccessibility accessibility, SourceComment? comment, string? cname, string? private_cname, string? class_macro_name, string? type_macro_name, string? is_type_macro_name, string? type_cast_macro_name, string? type_function_name, string? class_type_macro_name, string? is_class_type_macro_name, string? dbus_name, string? type_id, string? param_spec_function_name, string? ref_function_name, string? unref_function_name, string? free_function_name, string? finalize_function_name, string? take_value_function_cname, string? get_value_function_cname, string? set_value_function_cname, bool is_fundamental, bool is_abstract, bool is_basic_type, void* data) {
base (parent, file, name, accessibility, comment, type_macro_name, is_type_macro_name, type_cast_macro_name, type_function_name, is_basic_type, data);
this.interfaces = new ArrayList<TypeReference> ();
this.unref_function_name = unref_function_name;
this.ref_function_name = ref_function_name;
+ this.finalize_function_name = finalize_function_name;
+ this.free_function_name = free_function_name;
this.take_value_function_cname = take_value_function_cname;
this.get_value_function_cname = get_value_function_cname;
return unref_function_name;
}
+ /**
+ * Returns the C function name that frees the
+ * instances of this data type.
+ *
+ * @return the name of the C function or null
+ */
+ public string? get_free_function_name () {
+ return free_function_name;
+ }
+
+ /**
+ * Returns the C function name that finalizes the
+ * instances of this data type.
+ *
+ * @return the name of the C function or null
+ */
+ public string? get_finalize_function_name () {
+ return finalize_function_name;
+ }
+
/**
* Returns the cname of the GValue parameter spec function.
*/