]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
GDBus Improve property getter
authorRico Tzschichholz <ricotz@ubuntu.com>
Sun, 28 Oct 2018 16:52:59 +0000 (17:52 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 11 Mar 2019 12:52:38 +0000 (13:52 +0100)
codegen/valagdbusservertransformer.vala

index 48a68e07ee21805ba63e3b6d2d787d5b736624e9..1cc06563d8cfe7b59a36042407d6b3df6aa4ae99 100644 (file)
@@ -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 ()) {