[vala] D-Bus: Set g-interface-info when creating proxy objects



commit ad36935b65c9e5b62f40b4238de773b78f938432
Author: Jürg Billeter <j bitron ch>
Date:   Sat Aug 23 17:22:24 2014 +0200

    D-Bus: Set g-interface-info when creating proxy objects

 codegen/valagdbusclientmodule.vala |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/codegen/valagdbusclientmodule.vala b/codegen/valagdbusclientmodule.vala
index 4d01c15..cbf7223 100644
--- a/codegen/valagdbusclientmodule.vala
+++ b/codegen/valagdbusclientmodule.vala
@@ -259,6 +259,7 @@ public class Vala.GDBusClientModule : GDBusModule {
 
                CCodeExpression proxy_type;
                CCodeExpression dbus_iface_name;
+               CCodeExpression dbus_iface_info = null;
 
                var object_type = type_arg as ObjectType;
                if (object_type != null) {
@@ -271,6 +272,7 @@ public class Vala.GDBusClientModule : GDBusModule {
 
                        proxy_type = new CCodeIdentifier ("%s_PROXY".printf (get_ccode_type_id (iface)));
                        dbus_iface_name = new CCodeConstant ("\"%s\"".printf (get_dbus_name (iface)));
+                       dbus_iface_info = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, 
get_interface_info (iface));
                } else {
                        // use runtime type information for generic methods
 
@@ -389,6 +391,10 @@ public class Vala.GDBusClientModule : GDBusModule {
                ccall.add_argument (get_cvalue (object_path));
                ccall.add_argument (new CCodeConstant ("\"g-interface-name\""));
                ccall.add_argument (dbus_iface_name);
+               if (dbus_iface_info != null) {
+                       ccall.add_argument (new CCodeConstant ("\"g-interface-info\""));
+                       ccall.add_argument (dbus_iface_info);
+               }
                ccall.add_argument (new CCodeConstant ("NULL"));
 
                if (bus_get_proxy_async || conn_get_proxy_async) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]