From 50d7d4f31cf21410b2538e754a0b1562ba0dcb9d Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Sat, 24 May 2008 07:19:27 +0000 Subject: [PATCH] Add get_dynamic_cname method to CCodeDynamicSignalBinding class, based on 2008-05-24 Juerg Billeter * gobject/valaccodedynamicsignalbinding.vala: Add get_dynamic_cname method to CCodeDynamicSignalBinding class, based on patch by Yu Feng svn path=/trunk/; revision=1418 --- ChangeLog | 7 +++++++ gobject/valaccodedynamicsignalbinding.vala | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 250027c..bccc819 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-05-24 Jürg Billeter + + * gobject/valaccodedynamicsignalbinding.vala: + + Add get_dynamic_cname method to CCodeDynamicSignalBinding class, + based on patch by Yu Feng + 2008-05-23 Jürg Billeter * vapi/glib-2.0.vapi: diff --git a/gobject/valaccodedynamicsignalbinding.vala b/gobject/valaccodedynamicsignalbinding.vala index 0cf5796..0a6370f 100644 --- a/gobject/valaccodedynamicsignalbinding.vala +++ b/gobject/valaccodedynamicsignalbinding.vala @@ -29,8 +29,6 @@ using Gee; public class Vala.CCodeDynamicSignalBinding : CCodeBinding { public Signal node { get; set; } - private static int signal_wrapper_id; - public CCodeDynamicSignalBinding (CCodeGenerator codegen, DynamicSignal node) { this.node = node; this.codegen = codegen; @@ -39,11 +37,22 @@ public class Vala.CCodeDynamicSignalBinding : CCodeBinding { string? connect_wrapper_name; string? disconnect_wrapper_name; + string? dynamic_cname; + + private static int signal_wrapper_id; + + public string get_dynamic_cname () { + if (dynamic_cname == null) { + dynamic_cname = "dynamic_%s%d_".printf (node.name, signal_wrapper_id++); + } + return dynamic_cname; + } + public string get_connect_wrapper_name () { var dynamic_signal = (DynamicSignal) node; if (connect_wrapper_name == null) { - connect_wrapper_name = "_dynamic_%s%d_connect".printf (node.name, signal_wrapper_id++); + connect_wrapper_name = "_%sconnect".printf (get_dynamic_cname ()); var func = new CCodeFunction (connect_wrapper_name, "void"); func.add_parameter (new CCodeFormalParameter ("obj", "gpointer")); func.add_parameter (new CCodeFormalParameter ("signal_name", "const char *")); @@ -70,7 +79,7 @@ public class Vala.CCodeDynamicSignalBinding : CCodeBinding { var dynamic_signal = (DynamicSignal) node; if (disconnect_wrapper_name == null) { - disconnect_wrapper_name = "_dynamic_%s%d_disconnect".printf (node.name, signal_wrapper_id++); + disconnect_wrapper_name = "_%sdisconnect".printf (get_dynamic_cname ()); var func = new CCodeFunction (disconnect_wrapper_name, "void"); func.add_parameter (new CCodeFormalParameter ("obj", "gpointer")); func.add_parameter (new CCodeFormalParameter ("signal_name", "const char *")); -- 2.7.4