From: Rico Tzschichholz Date: Sun, 28 Oct 2018 16:52:59 +0000 (+0100) Subject: GDBus Improve property getter X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0af4a855ff0a4c2e29c05ea3a15dfe5e8f85e9a;p=thirdparty%2Fvala.git GDBus Improve property getter --- diff --git a/codegen/valagdbusservertransformer.vala b/codegen/valagdbusservertransformer.vala index 48a68e07e..1cc06563d 100644 --- a/codegen/valagdbusservertransformer.vala +++ b/codegen/valagdbusservertransformer.vala @@ -217,13 +217,13 @@ public class Vala.GDBusServerTransformer : GDBusClientTransformer { m.add_parameter (new Parameter ("object_path", data_type ("string", false))); m.add_parameter (new Parameter ("interface_name", data_type ("string", false))); m.add_parameter (new Parameter ("property_name", data_type ("string", false))); - m.add_parameter (new Parameter ("error", new PointerType (new PointerType (new VoidType ())))); + m.add_parameter (new Parameter ("error", new PointerType (new ErrorType (null, null)))); m.add_parameter (new Parameter ("user_data", new PointerType (new VoidType ()))); sym.add_method (m); push_builder (new CodeBuilder.for_subroutine (m)); var object_type = SemanticAnalyzer.get_data_type_for_symbol (sym); - var object = b.add_temp_declaration (null, expression (@"($object_type) (((GLib.Object[]) user_data)[0])")); + var object = b.add_temp_declaration (data_type (@"$object_type", false), expression (@"($object_type) (((GLib.Object[]) user_data)[0])")); b.open_switch (expression ("property_name"), null); statements ("return null;"); foreach (var prop in sym.get_properties ()) { @@ -254,13 +254,13 @@ public class Vala.GDBusServerTransformer : GDBusClientTransformer { m.add_parameter (new Parameter ("interface_name", data_type ("string", false))); m.add_parameter (new Parameter ("property_name", data_type ("string", false))); m.add_parameter (new Parameter ("value", data_type ("GLib.Variant", false))); - m.add_parameter (new Parameter ("error", new PointerType (new PointerType (new VoidType ())))); + m.add_parameter (new Parameter ("error", new PointerType (new ErrorType (null, null)))); m.add_parameter (new Parameter ("user_data", new PointerType (new VoidType ()))); sym.add_method (m); push_builder (new CodeBuilder.for_subroutine (m)); var object_type = SemanticAnalyzer.get_data_type_for_symbol (sym); - var object = b.add_temp_declaration (null, expression (@"($object_type) (((GLib.Object[]) user_data)[0])")); + var object = b.add_temp_declaration (data_type (@"$object_type", false), expression (@"($object_type) (((GLib.Object[]) user_data)[0])")); b.open_switch (expression ("property_name"), null); statements ("return false;"); foreach (var prop in sym.get_properties ()) {