From d79c1ba602924fc254978e98e1390ab5441c3bb8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrg=20Billeter?= Date: Wed, 4 Jun 2008 13:53:55 +0000 Subject: [PATCH] Respect custom type_id MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2008-06-04 Jürg Billeter * gobject/valaccodeclassbinding.vala: * gobject/valaccodegenerator.vala: * gobject/valaccodeinterfacebinding.vala: * gobject/valaccodetypesymbolbinding.vala: * gobject/valaclassregisterfunction.vala: Respect custom type_id * vapi/glib-2.0.vapi: Fix GTypeModule binding svn path=/trunk/; revision=1561 --- ChangeLog | 14 ++++++++++++++ gobject/valaccodeclassbinding.vala | 14 +++++++------- gobject/valaccodegenerator.vala | 4 ++-- gobject/valaccodeinterfacebinding.vala | 8 ++++---- gobject/valaccodetypesymbolbinding.vala | 4 ++-- gobject/valaclassregisterfunction.vala | 4 ++-- vapi/glib-2.0.vapi | 5 +++++ 7 files changed, 36 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c06424..896129d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,19 @@ 2008-06-04 Jürg Billeter + * gobject/valaccodeclassbinding.vala: + * gobject/valaccodegenerator.vala: + * gobject/valaccodeinterfacebinding.vala: + * gobject/valaccodetypesymbolbinding.vala: + * gobject/valaclassregisterfunction.vala: + + Respect custom type_id + + * vapi/glib-2.0.vapi: + + Fix GTypeModule binding + +2008-06-04 Jürg Billeter + * configure.ac: Post-release version bump 2008-06-03 Jürg Billeter diff --git a/gobject/valaccodeclassbinding.vala b/gobject/valaccodeclassbinding.vala index 29d5a82..dd53a1b 100644 --- a/gobject/valaccodeclassbinding.vala +++ b/gobject/valaccodeclassbinding.vala @@ -80,21 +80,21 @@ public class Vala.CCodeClassBinding : CCodeObjectTypeSymbolBinding { if (is_gtypeinstance) { decl_frag.append (new CCodeNewline ()); var macro = "(%s_get_type ())".printf (cl.get_lower_case_cname (null)); - decl_frag.append (new CCodeMacroReplacement (cl.get_upper_case_cname ("TYPE_"), macro)); + decl_frag.append (new CCodeMacroReplacement (cl.get_type_id (), macro)); - macro = "(G_TYPE_CHECK_INSTANCE_CAST ((obj), %s, %s))".printf (cl.get_upper_case_cname ("TYPE_"), cl.get_cname ()); + macro = "(G_TYPE_CHECK_INSTANCE_CAST ((obj), %s, %s))".printf (cl.get_type_id (), cl.get_cname ()); decl_frag.append (new CCodeMacroReplacement ("%s(obj)".printf (cl.get_upper_case_cname (null)), macro)); - macro = "(G_TYPE_CHECK_CLASS_CAST ((klass), %s, %sClass))".printf (cl.get_upper_case_cname ("TYPE_"), cl.get_cname ()); + macro = "(G_TYPE_CHECK_CLASS_CAST ((klass), %s, %sClass))".printf (cl.get_type_id (), cl.get_cname ()); decl_frag.append (new CCodeMacroReplacement ("%s_CLASS(klass)".printf (cl.get_upper_case_cname (null)), macro)); - macro = "(G_TYPE_CHECK_INSTANCE_TYPE ((obj), %s))".printf (cl.get_upper_case_cname ("TYPE_")); + macro = "(G_TYPE_CHECK_INSTANCE_TYPE ((obj), %s))".printf (cl.get_type_id ()); decl_frag.append (new CCodeMacroReplacement ("%s(obj)".printf (cl.get_upper_case_cname ("IS_")), macro)); - macro = "(G_TYPE_CHECK_CLASS_TYPE ((klass), %s))".printf (cl.get_upper_case_cname ("TYPE_")); + macro = "(G_TYPE_CHECK_CLASS_TYPE ((klass), %s))".printf (cl.get_type_id ()); decl_frag.append (new CCodeMacroReplacement ("%s_CLASS(klass)".printf (cl.get_upper_case_cname ("IS_")), macro)); - macro = "(G_TYPE_INSTANCE_GET_CLASS ((obj), %s, %sClass))".printf (cl.get_upper_case_cname ("TYPE_"), cl.get_cname ()); + macro = "(G_TYPE_INSTANCE_GET_CLASS ((obj), %s, %sClass))".printf (cl.get_type_id (), cl.get_cname ()); decl_frag.append (new CCodeMacroReplacement ("%s_GET_CLASS(obj)".printf (cl.get_upper_case_cname (null)), macro)); decl_frag.append (new CCodeNewline ()); } @@ -143,7 +143,7 @@ public class Vala.CCodeClassBinding : CCodeObjectTypeSymbolBinding { /* only add the *Private struct if it is not empty, i.e. we actually have private data */ if (cl.has_private_fields || cl.get_type_parameters ().size > 0) { codegen.source_type_member_declaration.append (codegen.instance_priv_struct); - var macro = "(G_TYPE_INSTANCE_GET_PRIVATE ((o), %s, %sPrivate))".printf (cl.get_upper_case_cname ("TYPE_"), cl.get_cname ()); + var macro = "(G_TYPE_INSTANCE_GET_PRIVATE ((o), %s, %sPrivate))".printf (cl.get_type_id (), cl.get_cname ()); codegen.source_type_member_declaration.append (new CCodeMacroReplacement ("%s_GET_PRIVATE(o)".printf (cl.get_upper_case_cname (null)), macro)); } codegen.source_type_member_declaration.append (codegen.prop_enum); diff --git a/gobject/valaccodegenerator.vala b/gobject/valaccodegenerator.vala index 08ad198..ba04fa6 100644 --- a/gobject/valaccodegenerator.vala +++ b/gobject/valaccodegenerator.vala @@ -311,7 +311,7 @@ public class Vala.CCodeGenerator : CodeGenerator { decl_frag.append (new CCodeNewline ()); var macro = "(%s_get_type ())".printf (en.get_lower_case_cname (null)); - decl_frag.append (new CCodeMacroReplacement (en.get_upper_case_cname ("TYPE_"), macro)); + decl_frag.append (new CCodeMacroReplacement (en.get_type_id (), macro)); var clist = new CCodeInitializerList (); /* or during visit time? */ CCodeInitializerList clist_ev = null; @@ -981,7 +981,7 @@ public class Vala.CCodeGenerator : CodeGenerator { var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_type_class_peek")); - ccall.add_argument (new CCodeIdentifier (cl.get_upper_case_cname ("TYPE_"))); + ccall.add_argument (new CCodeIdentifier (cl.get_type_id ())); var ccast = new CCodeFunctionCall (new CCodeIdentifier ("%s_CLASS".printf (cl.get_upper_case_cname (null)))); ccast.add_argument (ccall); cblock.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeIdentifier ("klass"), ccast))); diff --git a/gobject/valaccodeinterfacebinding.vala b/gobject/valaccodeinterfacebinding.vala index 2e24a05..448967e 100644 --- a/gobject/valaccodeinterfacebinding.vala +++ b/gobject/valaccodeinterfacebinding.vala @@ -56,15 +56,15 @@ public class Vala.CCodeInterfaceBinding : CCodeObjectTypeSymbolBinding { decl_frag.append (new CCodeNewline ()); var macro = "(%s_get_type ())".printf (iface.get_lower_case_cname (null)); - decl_frag.append (new CCodeMacroReplacement (iface.get_upper_case_cname ("TYPE_"), macro)); + decl_frag.append (new CCodeMacroReplacement (iface.get_type_id (), macro)); - macro = "(G_TYPE_CHECK_INSTANCE_CAST ((obj), %s, %s))".printf (iface.get_upper_case_cname ("TYPE_"), iface.get_cname ()); + macro = "(G_TYPE_CHECK_INSTANCE_CAST ((obj), %s, %s))".printf (iface.get_type_id (), iface.get_cname ()); decl_frag.append (new CCodeMacroReplacement ("%s(obj)".printf (iface.get_upper_case_cname (null)), macro)); - macro = "(G_TYPE_CHECK_INSTANCE_TYPE ((obj), %s))".printf (iface.get_upper_case_cname ("TYPE_")); + macro = "(G_TYPE_CHECK_INSTANCE_TYPE ((obj), %s))".printf (iface.get_type_id ()); decl_frag.append (new CCodeMacroReplacement ("%s(obj)".printf (iface.get_upper_case_cname ("IS_")), macro)); - macro = "(G_TYPE_INSTANCE_GET_INTERFACE ((obj), %s, %s))".printf (iface.get_upper_case_cname ("TYPE_"), iface.get_type_cname ()); + macro = "(G_TYPE_INSTANCE_GET_INTERFACE ((obj), %s, %s))".printf (iface.get_type_id (), iface.get_type_cname ()); decl_frag.append (new CCodeMacroReplacement ("%s_GET_INTERFACE(obj)".printf (iface.get_upper_case_cname (null)), macro)); decl_frag.append (new CCodeNewline ()); diff --git a/gobject/valaccodetypesymbolbinding.vala b/gobject/valaccodetypesymbolbinding.vala index 2b3d119..bba6779 100644 --- a/gobject/valaccodetypesymbolbinding.vala +++ b/gobject/valaccodetypesymbolbinding.vala @@ -31,7 +31,7 @@ public abstract class Vala.CCodeTypeSymbolBinding : CCodeBinding { cspec.add_argument (new CCodeConstant ("\"%s\"".printf (prop.blurb))); if ((prop.property_type.data_type is Class && ((Class) prop.property_type.data_type).is_subtype_of (codegen.gobject_type)) || prop.property_type.data_type is Interface) { cspec.call = new CCodeIdentifier ("g_param_spec_object"); - cspec.add_argument (new CCodeIdentifier (prop.property_type.data_type.get_upper_case_cname ("TYPE_"))); + cspec.add_argument (new CCodeIdentifier (prop.property_type.data_type.get_type_id ())); } else if (prop.property_type.data_type == codegen.string_type.data_type) { cspec.call = new CCodeIdentifier ("g_param_spec_string"); cspec.add_argument (new CCodeConstant ("NULL")); @@ -169,7 +169,7 @@ public abstract class Vala.CCodeTypeSymbolBinding : CCodeBinding { public CCodeFunctionCall get_signal_creation (Signal sig, TypeSymbol type) { var csignew = new CCodeFunctionCall (new CCodeIdentifier ("g_signal_new")); csignew.add_argument (new CCodeConstant ("\"%s\"".printf (sig.name))); - csignew.add_argument (new CCodeIdentifier (type.get_upper_case_cname ("TYPE_"))); + csignew.add_argument (new CCodeIdentifier (type.get_type_id ())); csignew.add_argument (new CCodeConstant ("G_SIGNAL_RUN_LAST")); csignew.add_argument (new CCodeConstant ("0")); csignew.add_argument (new CCodeConstant ("NULL")); diff --git a/gobject/valaclassregisterfunction.vala b/gobject/valaclassregisterfunction.vala index 06564de..fa131be 100644 --- a/gobject/valaclassregisterfunction.vala +++ b/gobject/valaclassregisterfunction.vala @@ -70,7 +70,7 @@ public class Vala.ClassRegisterFunction : TypeRegisterFunction { } public override string get_parent_type_name () { - return class_reference.base_class.get_upper_case_cname ("TYPE_"); + return class_reference.base_class.get_type_id (); } public override string get_type_flags () { @@ -120,7 +120,7 @@ public class Vala.ClassRegisterFunction : TypeRegisterFunction { var reg_call = new CCodeFunctionCall (new CCodeIdentifier ("g_type_add_interface_static")); reg_call.add_argument (new CCodeIdentifier ("%s_type_id".printf (class_reference.get_lower_case_cname (null)))); - reg_call.add_argument (new CCodeIdentifier (iface.get_upper_case_cname ("TYPE_"))); + reg_call.add_argument (new CCodeIdentifier (iface.get_type_id ())); reg_call.add_argument (new CCodeIdentifier ("&%s".printf (iface_info_name))); frag.append (new CCodeExpressionStatement (reg_call)); } diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index 5398730..22da782 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -757,10 +757,15 @@ namespace GLib { public interface TypePlugin { } + [CCode (lower_case_csuffix = "type_module")] public class TypeModule : Object, TypePlugin { public bool use (); public void unuse (); public void set_name (string name); + [NoWrapper] + public virtual bool load (); + [NoWrapper] + public virtual void unload (); } [CCode (ref_function = "g_param_spec_ref", unref_function = "g_param_spec_unref")] -- 2.7.4