summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-Andre Lureau <malureau@src.gnome.org>2008-10-17 19:32:12 +0000
committerMarc-Andre Lureau <malureau@src.gnome.org>2008-10-17 19:32:12 +0000
commit0caa54a6b83c21662d995687b437b123eb619882 (patch)
tree6d3b5be1f859e9d29ddc1f85eb1cc425364e6279
parent1020fbf901be450a0734a827a93c1a3727083214 (diff)
downloadvala-0caa54a6b83c21662d995687b437b123eb619882.tar.gz
Rename dbus result
svn path=/trunk/; revision=1858
-rw-r--r--ChangeLog7
-rw-r--r--gobject/valaccodeobjecttypesymbolbinding.vala15
2 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5a04bf18c..1d2d4afb8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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");