diff options
author | Marc-Andre Lureau <malureau@src.gnome.org> | 2008-10-17 19:32:12 +0000 |
---|---|---|
committer | Marc-Andre Lureau <malureau@src.gnome.org> | 2008-10-17 19:32:12 +0000 |
commit | 0caa54a6b83c21662d995687b437b123eb619882 (patch) | |
tree | 6d3b5be1f859e9d29ddc1f85eb1cc425364e6279 | |
parent | 1020fbf901be450a0734a827a93c1a3727083214 (diff) | |
download | vala-0caa54a6b83c21662d995687b437b123eb619882.tar.gz |
Rename dbus result
svn path=/trunk/; revision=1858
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gobject/valaccodeobjecttypesymbolbinding.vala | 15 |
2 files changed, 21 insertions, 1 deletions
@@ -1,3 +1,10 @@ +2008-10-17 Marc-André Lureau <marcandre.lureau@gmail.com> + + * gobject/valaccodeobjecttypesymbolbinding.vala: + + New DBus attribute "result" to rename result for introspection, + fixes bug 549509 + 2008-10-17 Jürg Billeter <j@bitron.ch> * vapi/glib-2.0.vapi: diff --git a/gobject/valaccodeobjecttypesymbolbinding.vala b/gobject/valaccodeobjecttypesymbolbinding.vala index 2298b080c..e64f55848 100644 --- a/gobject/valaccodeobjecttypesymbolbinding.vala +++ b/gobject/valaccodeobjecttypesymbolbinding.vala @@ -35,6 +35,18 @@ public abstract class Vala.CCodeObjectTypeSymbolBinding : Vala.CCodeTypeSymbolBi return true; } + string dbus_result_name (CodeNode node) { + var dbus_attribute = node.get_attribute ("DBus"); + if (dbus_attribute != null + && dbus_attribute.has_argument ("result")) { + var result_name = dbus_attribute.get_string ("result"); + if (result_name != null && result_name != "") + return result_name; + } + + return "result"; + } + public CCodeFragment register_dbus_info (ObjectTypeSymbol bindable) { CCodeFragment fragment = new CCodeFragment (); @@ -125,7 +137,8 @@ public abstract class Vala.CCodeObjectTypeSymbolBinding : Vala.CCodeTypeSymbolBi } if (!(m.return_type is VoidType)) { - blob.append ("result\\0"); + blob.append (dbus_result_name (m)); + blob.append ("\\0"); start++; blob.append ("O\\0"); |