summaryrefslogtreecommitdiff
path: root/gobject/valaccodeobjecttypesymbolbinding.vala
diff options
context:
space:
mode:
Diffstat (limited to 'gobject/valaccodeobjecttypesymbolbinding.vala')
-rw-r--r--gobject/valaccodeobjecttypesymbolbinding.vala15
1 files changed, 14 insertions, 1 deletions
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");