From: Sergey Bugaev Date: Sun, 8 Mar 2026 10:09:58 +0000 (+0300) Subject: gdbus: Reimplement method calls using g_dbus_proxy_call X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ba66ec5269e2d1aa67cf2108bd27e416ccbafb0;p=thirdparty%2Fvala.git gdbus: Reimplement method calls using g_dbus_proxy_call This essentially undoes commit 28fdeeb23dffc8555bc844d225c6e08e2aef95bd "D-Bus: Use lowlevel message API for method calls in GDBus clients", whose commit message mentions that this was required for file descriptor passing. Indeed in 2010, there was no *_with_unix_fd_list methods on GDBusProxy; those are new in GLib 2.30 (2011). We require GLib 2.56, so we can rely on those methods being present. This commit implements both fd-passing an regular D-Bus methods on top of the various variants of g_dbus_proxy_call methods. In addition to both the generated code being simpler, this brings the important functionality of type-checking the reply message. --- diff --git a/codegen/valagdbusclientmodule.vala b/codegen/valagdbusclientmodule.vala index 11ec7c5c5..7f639a1c5 100644 --- a/codegen/valagdbusclientmodule.vala +++ b/codegen/valagdbusclientmodule.vala @@ -558,13 +558,17 @@ public class Vala.GDBusClientModule : GDBusModule { void generate_marshalling (Method m, CallType call_type, string? iface_name, string? method_name, int method_timeout) { var gdbusproxy = new CCodeCastExpression (new CCodeIdentifier ("self"), "GDBusProxy *"); - var connection = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_proxy_get_connection")); - connection.add_argument (gdbusproxy); - bool uses_fd = dbus_method_uses_file_descriptor (m); if (uses_fd) { cfile.add_include ("gio/gunixfdlist.h"); ccode.add_declaration ("GUnixFDList*", new CCodeVariableDeclarator ("_fd_list")); + if (call_type == CallType.SYNC || call_type == CallType.FINISH) { + ccode.add_declaration ("GUnixFDList*", new CCodeVariableDeclarator ("_out_fd_list")); + } + } + + if (call_type == CallType.SYNC || call_type == CallType.FINISH) { + ccode.add_declaration ("GVariant", new CCodeVariableDeclarator ("*_reply")); } bool has_error_argument = m.tree_can_fail; @@ -575,50 +579,27 @@ public class Vala.GDBusClientModule : GDBusModule { error_argument = new CCodeConstant ("NULL"); } - if (call_type != CallType.FINISH) { - var destination = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_proxy_get_name")); - destination.add_argument (gdbusproxy); - - var interface_name = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_proxy_get_interface_name")); - interface_name.add_argument (gdbusproxy); - - var object_path = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_proxy_get_object_path")); - object_path.add_argument (gdbusproxy); - - CCodeExpression timeout; - if (method_timeout <= 0) { - timeout = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_proxy_get_default_timeout")); - ((CCodeFunctionCall) timeout).add_argument (gdbusproxy); - } else { - timeout = new CCodeConstant ("%d".printf (method_timeout)); - } + CCodeFunctionCall ccall = new CCodeFunctionCall (); + ccall.add_argument (gdbusproxy); + if (call_type != CallType.FINISH) { // register errors var error_types = new ArrayList (); m.get_error_types (error_types); foreach (var error_type in error_types) { var errtype = (ErrorType) error_type; if (errtype.error_domain != null) { + var domain_name = errtype.error_domain.get_full_name (); + if (domain_name == "GLib.IOError" || domain_name == "GLib.DBusError") { + // Don't bother. + continue; + } ccode.add_expression (new CCodeIdentifier (get_ccode_upper_case_name (errtype.error_domain))); } } - // build D-Bus message - - ccode.add_declaration ("GDBusMessage", new CCodeVariableDeclarator ("*_message")); - - var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_new_method_call")); - ccall.add_argument (destination); - ccall.add_argument (object_path); - if (iface_name != null) { - ccall.add_argument (new CCodeConstant ("\"%s\"".printf (iface_name))); - } else { - ccall.add_argument (interface_name); - } ccall.add_argument (new CCodeConstant ("\"%s\"".printf (method_name))); - ccode.add_assignment (new CCodeIdentifier ("_message"), ccall); - ccode.add_declaration ("GVariant", new CCodeVariableDeclarator ("*_arguments")); ccode.add_declaration ("GVariantBuilder", new CCodeVariableDeclarator ("_arguments_builder")); var builder_init = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_builder_init")); @@ -655,244 +636,182 @@ public class Vala.GDBusClientModule : GDBusModule { var builder_end = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_builder_end")); builder_end.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("_arguments_builder"))); - ccode.add_assignment (new CCodeIdentifier ("_arguments"), builder_end); - - var set_body = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_set_body")); - set_body.add_argument (new CCodeIdentifier ("_message")); - set_body.add_argument (new CCodeIdentifier ("_arguments")); - ccode.add_expression (set_body); + ccall.add_argument (builder_end); + ccall.add_argument (new CCodeConstant ("G_DBUS_CALL_FLAGS_NONE")); + ccall.add_argument (new CCodeConstant ("%d".printf (method_timeout))); if (uses_fd) { - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_set_unix_fd_list")); - ccall.add_argument (new CCodeIdentifier ("_message")); - ccall.add_argument (new CCodeIdentifier ("_fd_list")); - ccode.add_expression (ccall); - - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref")); ccall.add_argument (new CCodeIdentifier ("_fd_list")); - ccode.add_expression (ccall); + if (call_type == CallType.SYNC) { + ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("_out_fd_list"))); + } } - // send D-Bus message + ccall.add_argument (cancellable); if (call_type == CallType.SYNC) { - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_connection_send_message_with_reply_sync")); - ccall.add_argument (connection); - ccall.add_argument (new CCodeIdentifier ("_message")); - ccall.add_argument (new CCodeConstant ("G_DBUS_SEND_MESSAGE_FLAGS_NONE")); - ccall.add_argument (timeout); - ccall.add_argument (new CCodeConstant ("NULL")); - ccall.add_argument (cancellable); + ccall.call = new CCodeIdentifier (uses_fd ? "g_dbus_proxy_call_with_unix_fd_list_sync" : "g_dbus_proxy_call_sync"); ccall.add_argument (error_argument); - ccode.add_assignment (new CCodeIdentifier ("_reply_message"), ccall); + ccode.add_assignment (new CCodeIdentifier ("_reply"), ccall); } else if (call_type == CallType.NO_REPLY) { - var set_flags = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_set_flags")); - set_flags.add_argument (new CCodeIdentifier ("_message")); - set_flags.add_argument (new CCodeConstant ("G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED")); - ccode.add_expression (set_flags); - - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_connection_send_message")); - ccall.add_argument (connection); - ccall.add_argument (new CCodeIdentifier ("_message")); - ccall.add_argument (new CCodeConstant ("G_DBUS_SEND_MESSAGE_FLAGS_NONE")); + ccall.call = new CCodeIdentifier (uses_fd ? "g_dbus_proxy_call_with_unix_fd_list" : "g_dbus_proxy_call"); + ccall.add_argument (new CCodeConstant ("NULL")); ccall.add_argument (new CCodeConstant ("NULL")); - ccall.add_argument (error_argument); ccode.add_expression (ccall); } else if (call_type == CallType.ASYNC) { - var callback_specified = new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, new CCodeIdentifier ("_callback_"), new CCodeConstant ("NULL")); - ccode.open_if (callback_specified); - - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_connection_send_message_with_reply")); - ccall.add_argument (connection); - ccall.add_argument (new CCodeIdentifier ("_message")); - ccall.add_argument (new CCodeConstant ("G_DBUS_SEND_MESSAGE_FLAGS_NONE")); - ccall.add_argument (timeout); - ccall.add_argument (new CCodeConstant ("NULL")); - ccall.add_argument (cancellable); - - CCodeFunctionCall res_wrapper = null; - - // use wrapper as source_object wouldn't be correct otherwise - ccall.add_argument (new CCodeIdentifier (generate_async_callback_wrapper ())); - res_wrapper = new CCodeFunctionCall (new CCodeIdentifier ("g_task_new")); - res_wrapper.add_argument (new CCodeCastExpression (new CCodeIdentifier ("self"), "GObject *")); - res_wrapper.add_argument (new CCodeConstant ("NULL")); - res_wrapper.add_argument (new CCodeIdentifier ("_callback_")); - res_wrapper.add_argument (new CCodeIdentifier ("_user_data_")); - ccall.add_argument (res_wrapper); - + ccall.call = new CCodeIdentifier (uses_fd ? "g_dbus_proxy_call_with_unix_fd_list" : "g_dbus_proxy_call"); + ccall.add_argument (new CCodeIdentifier ("_callback_")); + ccall.add_argument (new CCodeIdentifier ("_user_data_")); ccode.add_expression (ccall); + } - ccode.add_else (); - - var set_flags = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_set_flags")); - set_flags.add_argument (new CCodeIdentifier ("_message")); - set_flags.add_argument (new CCodeConstant ("G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED")); - ccode.add_expression (set_flags); - - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_connection_send_message")); - ccall.add_argument (connection); - ccall.add_argument (new CCodeIdentifier ("_message")); - ccall.add_argument (new CCodeConstant ("G_DBUS_SEND_MESSAGE_FLAGS_NONE")); - ccall.add_argument (new CCodeConstant ("NULL")); - ccall.add_argument (new CCodeConstant ("NULL")); + if (uses_fd) { + ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref")); + ccall.add_argument (new CCodeIdentifier ("_fd_list")); ccode.add_expression (ccall); - - ccode.close (); } - - // free D-Bus message - - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref")); - ccall.add_argument (new CCodeIdentifier ("_message")); - ccode.add_expression (ccall); + if (call_type == CallType.NO_REPLY || call_type == CallType.ASYNC) { + return; + } } else { - var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_connection_send_message_with_reply_finish")); - ccall.add_argument (connection); - - // unwrap async result - ccode.add_declaration ("GAsyncResult", new CCodeVariableDeclarator ("*_inner_res")); - - var inner_res = new CCodeFunctionCall (new CCodeIdentifier ("g_task_propagate_pointer")); - inner_res.add_argument (new CCodeCastExpression (new CCodeIdentifier ("_res_"), "GTask *")); - inner_res.add_argument (new CCodeConstant ("NULL")); - ccode.add_assignment (new CCodeIdentifier ("_inner_res"), inner_res); - - ccall.add_argument (new CCodeIdentifier ("_inner_res")); + ccall.call = new CCodeIdentifier (uses_fd ? "g_dbus_proxy_call_with_unix_fd_list_finish" : "g_dbus_proxy_call_finish"); + if (uses_fd) { + ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("_out_fd_list"))); + } + ccall.add_argument (new CCodeIdentifier ("_res_")); ccall.add_argument (error_argument); - ccode.add_assignment (new CCodeIdentifier ("_reply_message"), ccall); - // _inner_res is guaranteed to be non-NULL, so just unref it - var unref_inner_res = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref")); - unref_inner_res.add_argument (new CCodeIdentifier ("_inner_res")); - ccode.add_expression (unref_inner_res); + ccode.add_assignment (new CCodeIdentifier ("_reply"), ccall); } - if (call_type == CallType.SYNC || call_type == CallType.FINISH) { - ccode.add_declaration ("GDBusMessage", new CCodeVariableDeclarator ("*_reply_message")); - - var unref_reply = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref")); - unref_reply.add_argument (new CCodeIdentifier ("_reply_message")); + // Return on errors. + var reply_is_null = new CCodeUnaryExpression (CCodeUnaryOperator.LOGICAL_NEGATION, new CCodeIdentifier ("_reply")); + ccode.open_if (reply_is_null); + return_default_value (m.return_type, true); + ccode.close (); - // return on io error - var reply_is_null = new CCodeUnaryExpression (CCodeUnaryOperator.LOGICAL_NEGATION, new CCodeIdentifier ("_reply_message")); - ccode.open_if (reply_is_null); - return_default_value (m.return_type); - ccode.close (); + bool has_result = !(m.return_type is VoidType); - // return on remote error - var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_to_gerror")); - ccall.add_argument (new CCodeIdentifier ("_reply_message")); - ccall.add_argument (error_argument); - ccode.open_if (ccall); - ccode.add_expression (unref_reply); - return_default_value (m.return_type); - ccode.close (); + foreach (Parameter param in m.get_parameters ()) { + if (param.direction == ParameterDirection.OUT) { + has_result = true; + } + } - bool has_result = !(m.return_type is VoidType); + var unref_reply = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_unref")); + unref_reply.add_argument (new CCodeIdentifier ("_reply")); + CCodeStatement? unref_out_fd_list = null; + if (uses_fd) { + ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref")); + ccall.add_argument (new CCodeIdentifier ("_out_fd_list")); + var cblock = new CCodeBlock (); + cblock.add_statement (new CCodeExpressionStatement (ccall)); + unref_out_fd_list = new CCodeIfStatement (new CCodeIdentifier ("_out_fd_list"), cblock); + } + if (!has_result) { + ccode.add_expression (unref_reply); if (uses_fd) { - ccode.add_declaration ("gint", new CCodeVariableDeclarator.zero ("_fd_index", new CCodeConstant ("0"))); - ccode.add_declaration ("gint", new CCodeVariableDeclarator ("_fd")); - } - - foreach (Parameter param in m.get_parameters ()) { - if (param.direction == ParameterDirection.OUT) { - has_result = true; - } + ccode.add_statement ((!) unref_out_fd_list); } + return; + } - if (has_result) { - ccode.add_declaration ("GVariant", new CCodeVariableDeclarator ("*_reply")); - ccode.add_declaration ("GVariantIter", new CCodeVariableDeclarator ("_reply_iter")); + if (uses_fd) { + ccode.add_declaration ("gint", new CCodeVariableDeclarator.zero ("_fd_index", new CCodeConstant ("0"))); + ccode.add_declaration ("gint", new CCodeVariableDeclarator ("_fd")); + } + ccode.add_declaration ("GVariantIter", new CCodeVariableDeclarator ("_reply_iter")); - ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_get_body")); - ccall.add_argument (new CCodeIdentifier ("_reply_message")); - ccode.add_assignment (new CCodeIdentifier ("_reply"), ccall); + var iter_init = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_iter_init")); + iter_init.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("_reply_iter"))); + iter_init.add_argument (new CCodeIdentifier ("_reply")); + ccode.add_expression (iter_init); - var iter_init = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_iter_init")); - iter_init.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("_reply_iter"))); - iter_init.add_argument (new CCodeIdentifier ("_reply")); - ccode.add_expression (iter_init); + foreach (Parameter param in m.get_parameters ()) { + if (param.direction == ParameterDirection.OUT) { + ccode.add_declaration (get_ccode_name (param.variable_type), new CCodeVariableDeclarator.zero ("_vala_%s".printf (param.name), default_value_for_type (param.variable_type, true))); - foreach (Parameter param in m.get_parameters ()) { - if (param.direction == ParameterDirection.OUT) { - ccode.add_declaration (get_ccode_name (param.variable_type), new CCodeVariableDeclarator.zero ("_vala_%s".printf (param.name), default_value_for_type (param.variable_type, true))); + var array_type = param.variable_type as ArrayType; + if (array_type != null) { + var length_ctype = get_ccode_array_length_type (array_type); + for (int dim = 1; dim <= array_type.rank; dim++) { + ccode.add_declaration (length_ctype, new CCodeVariableDeclarator ("_vala_%s_length%d".printf (param.name, dim), new CCodeConstant ("0"))); + } + } - var array_type = param.variable_type as ArrayType; - if (array_type != null) { - var length_ctype = get_ccode_array_length_type (array_type); - for (int dim = 1; dim <= array_type.rank; dim++) { - ccode.add_declaration (length_ctype, new CCodeVariableDeclarator ("_vala_%s_length%d".printf (param.name, dim), new CCodeConstant ("0"))); - } - } + var target = new CCodeIdentifier ("_vala_%s".printf (param.name)); + bool may_fail; - var target = new CCodeIdentifier ("_vala_%s".printf (param.name)); - bool may_fail; + receive_dbus_value (param.variable_type, new CCodeIdentifier ("_out_fd_list"), new CCodeIdentifier ("_reply_iter"), target, param, error_argument, out may_fail); - receive_dbus_value (param.variable_type, new CCodeIdentifier ("_reply_message"), new CCodeIdentifier ("_reply_iter"), target, param, error_argument, out may_fail); + // TODO check that parameter is not NULL (out parameters are optional) + // free value if parameter is NULL + ccode.add_assignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier (get_variable_cname (param.name))), target); + if (array_type != null) { + for (int dim = 1; dim <= array_type.rank; dim++) { // TODO check that parameter is not NULL (out parameters are optional) - // free value if parameter is NULL - ccode.add_assignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier (get_variable_cname (param.name))), target); - - if (array_type != null) { - for (int dim = 1; dim <= array_type.rank; dim++) { - // TODO check that parameter is not NULL (out parameters are optional) - ccode.add_assignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("%s_length%d".printf (param.name, dim))), new CCodeIdentifier ("_vala_%s_length%d".printf (param.name, dim))); - } - } - - if (may_fail && has_error_argument) { - ccode.open_if (new CCodeBinaryExpression (CCodeBinaryOperator.AND, new CCodeIdentifier ("error"), new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("error")))); - ccode.add_expression (unref_reply); - return_default_value (m.return_type); - ccode.close (); - } + ccode.add_assignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("%s_length%d".printf (param.name, dim))), new CCodeIdentifier ("_vala_%s_length%d".printf (param.name, dim))); } } - if (!(m.return_type is VoidType)) { - if (m.return_type.is_real_non_null_struct_type ()) { - var target = new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("result")); - receive_dbus_value (m.return_type, new CCodeIdentifier ("_reply_message"), new CCodeIdentifier ("_reply_iter"), target, m); - } else { - ccode.add_declaration (get_ccode_name (m.return_type), new CCodeVariableDeclarator.zero ("_result", default_value_for_type (m.return_type, true))); - - var array_type = m.return_type as ArrayType; - if (array_type != null) { - var length_ctype = get_ccode_array_length_type (array_type); - for (int dim = 1; dim <= array_type.rank; dim++) { - ccode.add_declaration (length_ctype, new CCodeVariableDeclarator ("_result_length%d".printf (dim), new CCodeConstant ("0"))); - } - } - - bool may_fail; - receive_dbus_value (m.return_type, new CCodeIdentifier ("_reply_message"), new CCodeIdentifier ("_reply_iter"), new CCodeIdentifier ("_result"), m, new CCodeIdentifier ("error"), out may_fail); - - if (array_type != null) { - for (int dim = 1; dim <= array_type.rank; dim++) { - // TODO check that parameter is not NULL (out parameters are optional) - ccode.add_assignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("result_length%d".printf (dim))), new CCodeIdentifier ("_result_length%d".printf (dim))); - } - } - - if (may_fail) { - ccode.open_if (new CCodeBinaryExpression (CCodeBinaryOperator.AND, new CCodeIdentifier ("error"), new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("error")))); - ccode.add_expression (unref_reply); - return_default_value (m.return_type); - ccode.close (); - } + if (may_fail && has_error_argument) { + ccode.open_if (new CCodeBinaryExpression (CCodeBinaryOperator.AND, new CCodeIdentifier ("error"), new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("error")))); + ccode.add_expression (unref_reply); + if (uses_fd) { + ccode.add_statement ((!) unref_out_fd_list); } + return_default_value (m.return_type, true); + ccode.close (); } } + } - ccode.add_expression (unref_reply); + if (!(m.return_type is VoidType)) { + if (m.return_type.is_real_non_null_struct_type ()) { + var target = new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("result")); + receive_dbus_value (m.return_type, new CCodeIdentifier ("_out_fd_list"), new CCodeIdentifier ("_reply_iter"), target, m); + } else { + ccode.add_declaration (get_ccode_name (m.return_type), new CCodeVariableDeclarator.zero ("_result", default_value_for_type (m.return_type, true))); + + var array_type = m.return_type as ArrayType; + if (array_type != null) { + var length_ctype = get_ccode_array_length_type (array_type); + for (int dim = 1; dim <= array_type.rank; dim++) { + ccode.add_declaration (length_ctype, new CCodeVariableDeclarator ("_result_length%d".printf (dim), new CCodeConstant ("0"))); + } + } + + bool may_fail; + receive_dbus_value (m.return_type, new CCodeIdentifier ("_out_fd_list"), new CCodeIdentifier ("_reply_iter"), new CCodeIdentifier ("_result"), m, new CCodeIdentifier ("error"), out may_fail); - if (!(m.return_type is VoidType || m.return_type.is_real_non_null_struct_type ())) { - ccode.add_return (new CCodeIdentifier ("_result")); + if (array_type != null) { + for (int dim = 1; dim <= array_type.rank; dim++) { + // TODO check that parameter is not NULL (out parameters are optional) + ccode.add_assignment (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("result_length%d".printf (dim))), new CCodeIdentifier ("_result_length%d".printf (dim))); + } + } + if (may_fail) { + ccode.open_if (new CCodeBinaryExpression (CCodeBinaryOperator.AND, new CCodeIdentifier ("error"), new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeIdentifier ("error")))); + ccode.add_expression (unref_reply); + if (uses_fd) { + ccode.add_statement ((!) unref_out_fd_list); + } + return_default_value (m.return_type, true); + ccode.close (); + } } } + + ccode.add_expression (unref_reply); + if (uses_fd) { + ccode.add_statement ((!) unref_out_fd_list); + } + + if (!(m.return_type is VoidType || m.return_type.is_real_non_null_struct_type ())) { + ccode.add_return (new CCodeIdentifier ("_result")); + } } string generate_dbus_proxy_method (Interface main_iface, Interface iface, Method m) { diff --git a/codegen/valagdbusmodule.vala b/codegen/valagdbusmodule.vala index 5c88f88c0..f77993497 100644 --- a/codegen/valagdbusmodule.vala +++ b/codegen/valagdbusmodule.vala @@ -216,23 +216,17 @@ public class Vala.GDBusModule : GVariantModule { return null; } - public void receive_dbus_value (DataType type, CCodeExpression message_expr, CCodeExpression iter_expr, CCodeExpression target_expr, Symbol? sym, CCodeExpression? error_expr = null, out bool may_fail = null) { - var fd_list = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_get_unix_fd_list")); - fd_list.add_argument (message_expr); - + public void receive_dbus_value (DataType type, CCodeExpression? fd_list_expr, CCodeExpression iter_expr, CCodeExpression target_expr, Symbol? sym, CCodeExpression? error_expr = null, out bool may_fail = null) { var fd_var = new CCodeIdentifier ("_fd"); var stream = create_from_file_descriptor (type, fd_var); if (stream != null) { - var fd_list_var = new CCodeIdentifier ("_fd_list"); - var fd = new CCodeFunctionCall (new CCodeIdentifier ("g_unix_fd_list_get")); - fd.add_argument (fd_list_var); + fd.add_argument (fd_list_expr); fd.add_argument (new CCodeIdentifier ("_fd_index")); fd.add_argument (error_expr); - ccode.add_assignment (fd_list_var, fd_list); - ccode.open_if (fd_list_var); + ccode.open_if (fd_list_expr); var get_fd = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_iter_next")); get_fd.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, iter_expr)); @@ -253,13 +247,14 @@ public class Vala.GDBusModule : GVariantModule { set_error.add_argument (error_expr); set_error.add_argument (new CCodeIdentifier ("G_IO_ERROR")); set_error.add_argument (new CCodeIdentifier ("G_IO_ERROR_FAILED")); - set_error.add_argument (new CCodeConstant ("\"FD List is NULL\"")); + set_error.add_argument (new CCodeConstant ("\"No file descriptor returned\"")); ccode.add_expression (set_error); ccode.close (); } else { read_expression (type, iter_expr, target_expr, sym, error_expr, out may_fail); } } + CCodeExpression get_method_info (ObjectTypeSymbol sym) { var infos = new CCodeInitializerList (); diff --git a/codegen/valagdbusservermodule.vala b/codegen/valagdbusservermodule.vala index e4b622c7d..4e782e09a 100644 --- a/codegen/valagdbusservermodule.vala +++ b/codegen/valagdbusservermodule.vala @@ -164,9 +164,11 @@ public class Vala.GDBusServerModule : GDBusClientModule { var message_expr = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_method_invocation_get_message")); message_expr.add_argument (new CCodeIdentifier ("invocation")); + var fd_list_expr = new CCodeFunctionCall (new CCodeIdentifier ("g_dbus_message_get_unix_fd_list")); + fd_list_expr.add_argument (message_expr); bool may_fail; - receive_dbus_value (param.variable_type, message_expr, new CCodeIdentifier ("_arguments_iter"), param_expr, param, new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("error")), out may_fail); + receive_dbus_value (param.variable_type, fd_list_expr, new CCodeIdentifier ("_arguments_iter"), param_expr, param, new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("error")), out may_fail); if (may_fail) { if (!uses_error) { diff --git a/tests/dbus/arrays_client.c-expected b/tests/dbus/arrays_client.c-expected index 7b0d3ab53..4379c7fe6 100644 --- a/tests/dbus/arrays_client.c-expected +++ b/tests/dbus/arrays_client.c-expected @@ -285,14 +285,11 @@ test_proxy_test_int (Test* self, gint* result_length1, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; gint* _tmp0_; GVariantBuilder _tmp1_; gint _tmp2_; - GDBusMessage *_reply_message; - GVariant *_reply; GVariantIter _reply_iter; gint* _vala_j = NULL; gint _vala_j_length1; @@ -312,8 +309,6 @@ test_proxy_test_int (Test* self, gint _tmp8__length1; GVariantIter _tmp9_; GVariant* _tmp10_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestInt"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _tmp0_ = i; g_variant_builder_init (&_tmp1_, G_VARIANT_TYPE ("ai")); @@ -322,18 +317,10 @@ test_proxy_test_int (Test* self, _tmp0_++; } g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp1_)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestInt", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _vala_j_length1 = 0; _tmp3_ = g_variant_iter_next_value (&_reply_iter); @@ -374,7 +361,7 @@ test_proxy_test_int (Test* self, _result = _tmp8_; g_variant_unref (_tmp7_); *result_length1 = _result_length1; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -387,14 +374,11 @@ test_proxy_test_string (Test* self, gint* result_length1, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; gchar** _tmp11_; GVariantBuilder _tmp12_; gint _tmp13_; - GDBusMessage *_reply_message; - GVariant *_reply; GVariantIter _reply_iter; gchar** _vala_t = NULL; gint _vala_t_length1; @@ -414,8 +398,6 @@ test_proxy_test_string (Test* self, gint _tmp19__length1; GVariantIter _tmp20_; GVariant* _tmp21_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestString"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _tmp11_ = s; g_variant_builder_init (&_tmp12_, G_VARIANT_TYPE ("as")); @@ -424,18 +406,10 @@ test_proxy_test_string (Test* self, _tmp11_++; } g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp12_)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestString", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _vala_t_length1 = 0; _tmp14_ = g_variant_iter_next_value (&_reply_iter); @@ -478,7 +452,7 @@ test_proxy_test_string (Test* self, _result = _tmp19_; g_variant_unref (_tmp18_); *result_length1 = _result_length1; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/async-bus_client.c-expected b/tests/dbus/async-bus_client.c-expected index 3e5c4b484..4812b9bf1 100644 --- a/tests/dbus/async-bus_client.c-expected +++ b/tests/dbus/async-bus_client.c-expected @@ -181,37 +181,22 @@ static gint test_proxy_get_test (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _result = 0; - GVariant* _tmp2_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "GetTest"); + GVariant* _tmp1_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp0_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "GetTest", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp2_); - g_variant_unref (_tmp2_); - g_object_unref (_reply_message); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _result = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/async-connection_client.c-expected b/tests/dbus/async-connection_client.c-expected index 8aef3be72..e689ae383 100644 --- a/tests/dbus/async-connection_client.c-expected +++ b/tests/dbus/async-connection_client.c-expected @@ -181,37 +181,22 @@ static gint test_proxy_get_test (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _result = 0; - GVariant* _tmp2_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "GetTest"); + GVariant* _tmp1_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp0_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "GetTest", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp2_); - g_variant_unref (_tmp2_); - g_object_unref (_reply_message); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _result = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/async-errors_client.c-expected b/tests/dbus/async-errors_client.c-expected index 73df6b27e..a1dc5065d 100644 --- a/tests/dbus/async-errors_client.c-expected +++ b/tests/dbus/async-errors_client.c-expected @@ -145,9 +145,6 @@ static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); -static void _vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data); static void test_proxy_test_void_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_); @@ -416,34 +413,14 @@ test_proxy_init (TestProxy* self) g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } -static void -_vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data) -{ - g_task_return_pointer (user_data, g_object_ref (res), g_object_unref); - g_object_unref (user_data); -} - static void test_proxy_test_void_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestVoid"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestVoid", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static void @@ -451,19 +428,12 @@ test_proxy_test_void_finish (Test* self, GAsyncResult* _res_, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + GVariant *_reply; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -472,21 +442,10 @@ test_proxy_test_int_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestInt"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestInt", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static gint @@ -495,36 +454,26 @@ test_proxy_test_int_finish (Test* self, gint* j, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; GVariant *_reply; GVariantIter _reply_iter; gint _vala_j = 0; - GVariant* _tmp2_; + GVariant* _tmp1_; gint _result = 0; - GVariant* _tmp3_; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - gint _tmp0_ = 0; + GVariant* _tmp2_; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _vala_j = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + *j = _vala_j; _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _vala_j = g_variant_get_int32 (_tmp2_); + _result = g_variant_get_int32 (_tmp2_); g_variant_unref (_tmp2_); - *j = _vala_j; - _tmp3_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp3_); - g_variant_unref (_tmp3_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -534,21 +483,10 @@ test_proxy_test_string_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestString"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (s)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestString", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static gchar* @@ -557,34 +495,25 @@ test_proxy_test_string_finish (Test* self, gchar** t, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; GVariant *_reply; GVariantIter _reply_iter; gchar* _vala_t = NULL; - GVariant* _tmp4_; + GVariant* _tmp3_; gchar* _result = NULL; - GVariant* _tmp5_; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + GVariant* _tmp4_; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp3_ = g_variant_iter_next_value (&_reply_iter); + _vala_t = g_variant_dup_string (_tmp3_, NULL); + g_variant_unref (_tmp3_); + *t = _vala_t; _tmp4_ = g_variant_iter_next_value (&_reply_iter); - _vala_t = g_variant_dup_string (_tmp4_, NULL); + _result = g_variant_dup_string (_tmp4_, NULL); g_variant_unref (_tmp4_); - *t = _vala_t; - _tmp5_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_dup_string (_tmp5_, NULL); - g_variant_unref (_tmp5_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -594,20 +523,9 @@ test_proxy_test_cancellable_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestCancellable"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, cancellable, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestCancellable", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, cancellable, _callback_, _user_data_); } static void @@ -615,19 +533,12 @@ test_proxy_test_cancellable_finish (Test* self, GAsyncResult* _res_, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + GVariant *_reply; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -692,13 +603,13 @@ _dbus_test_test_int (Test* self, { GVariantIter _arguments_iter; TestTestIntReadyData* _ready_data; - GVariant* _tmp6_; + GVariant* _tmp5_; g_variant_iter_init (&_arguments_iter, _parameters_); _ready_data = g_slice_new0 (TestTestIntReadyData); _ready_data->_invocation_ = invocation; - _tmp6_ = g_variant_iter_next_value (&_arguments_iter); - _ready_data->i = g_variant_get_int32 (_tmp6_); - g_variant_unref (_tmp6_); + _tmp5_ = g_variant_iter_next_value (&_arguments_iter); + _ready_data->i = g_variant_get_int32 (_tmp5_); + g_variant_unref (_tmp5_); test_test_int (self, _ready_data->i, (GAsyncReadyCallback) _dbus_test_test_int_ready, _ready_data); } @@ -742,13 +653,13 @@ _dbus_test_test_string (Test* self, { GVariantIter _arguments_iter; TestTestStringReadyData* _ready_data; - GVariant* _tmp7_; + GVariant* _tmp6_; g_variant_iter_init (&_arguments_iter, _parameters_); _ready_data = g_slice_new0 (TestTestStringReadyData); _ready_data->_invocation_ = invocation; - _tmp7_ = g_variant_iter_next_value (&_arguments_iter); - _ready_data->s = g_variant_dup_string (_tmp7_, NULL); - g_variant_unref (_tmp7_); + _tmp6_ = g_variant_iter_next_value (&_arguments_iter); + _ready_data->s = g_variant_dup_string (_tmp6_, NULL); + g_variant_unref (_tmp6_); test_test_string (self, _ready_data->s, (GAsyncReadyCallback) _dbus_test_test_string_ready, _ready_data); _error: ; diff --git a/tests/dbus/async-no-reply_client.c-expected b/tests/dbus/async-no-reply_client.c-expected index d82de992c..1081d464f 100644 --- a/tests/dbus/async-no-reply_client.c-expected +++ b/tests/dbus/async-no-reply_client.c-expected @@ -157,9 +157,6 @@ static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); -static void _vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data); static void test_proxy_list_messages_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_); @@ -356,35 +353,14 @@ test_proxy_init (TestProxy* self) g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } -static void -_vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data) -{ - g_task_return_pointer (user_data, g_object_ref (res), g_object_unref); - g_object_unref (user_data); -} - static void test_proxy_list_messages_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "ListMessages"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "ListMessages", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static gchar** @@ -393,8 +369,6 @@ test_proxy_list_messages_finish (Test* self, gint* result_length1, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; GVariant *_reply; GVariantIter _reply_iter; gchar** _result = NULL; @@ -406,17 +380,10 @@ test_proxy_list_messages_finish (Test* self, gint _tmp1__length1; GVariantIter _tmp2_; GVariant* _tmp3_; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _result_length1 = 0; _tmp0_ = g_variant_iter_next_value (&_reply_iter); @@ -438,7 +405,7 @@ test_proxy_list_messages_finish (Test* self, _result = _tmp1_; g_variant_unref (_tmp0_); *result_length1 = _result_length1; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -448,22 +415,10 @@ test_proxy_post_message_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "PostMessage"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (message)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "PostMessage", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static void @@ -471,19 +426,12 @@ test_proxy_post_message_finish (Test* self, GAsyncResult* _res_, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + GVariant *_reply; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void diff --git a/tests/dbus/async_client.c-expected b/tests/dbus/async_client.c-expected index 7e1877d47..31ca690b1 100644 --- a/tests/dbus/async_client.c-expected +++ b/tests/dbus/async_client.c-expected @@ -136,9 +136,6 @@ static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); -static void _vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data); static void test_proxy_test_void_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_); @@ -366,35 +363,14 @@ test_proxy_init (TestProxy* self) g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } -static void -_vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data) -{ - g_task_return_pointer (user_data, g_object_ref (res), g_object_unref); - g_object_unref (user_data); -} - static void test_proxy_test_void_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestVoid"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestVoid", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static void @@ -402,19 +378,12 @@ test_proxy_test_void_finish (Test* self, GAsyncResult* _res_, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + GVariant *_reply; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -423,22 +392,10 @@ test_proxy_test_int_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestInt"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestInt", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static gint @@ -447,36 +404,26 @@ test_proxy_test_int_finish (Test* self, gint* j, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; GVariant *_reply; GVariantIter _reply_iter; gint _vala_j = 0; - GVariant* _tmp2_; + GVariant* _tmp1_; gint _result = 0; - GVariant* _tmp3_; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - gint _tmp0_ = 0; + GVariant* _tmp2_; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _vala_j = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + *j = _vala_j; _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _vala_j = g_variant_get_int32 (_tmp2_); + _result = g_variant_get_int32 (_tmp2_); g_variant_unref (_tmp2_); - *j = _vala_j; - _tmp3_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp3_); - g_variant_unref (_tmp3_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -486,22 +433,10 @@ test_proxy_test_string_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestString"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (s)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestString", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static gchar* @@ -510,34 +445,25 @@ test_proxy_test_string_finish (Test* self, gchar** t, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; GVariant *_reply; GVariantIter _reply_iter; gchar* _vala_t = NULL; - GVariant* _tmp4_; + GVariant* _tmp3_; gchar* _result = NULL; - GVariant* _tmp5_; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + GVariant* _tmp4_; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp3_ = g_variant_iter_next_value (&_reply_iter); + _vala_t = g_variant_dup_string (_tmp3_, NULL); + g_variant_unref (_tmp3_); + *t = _vala_t; _tmp4_ = g_variant_iter_next_value (&_reply_iter); - _vala_t = g_variant_dup_string (_tmp4_, NULL); + _result = g_variant_dup_string (_tmp4_, NULL); g_variant_unref (_tmp4_); - *t = _vala_t; - _tmp5_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_dup_string (_tmp5_, NULL); - g_variant_unref (_tmp5_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -601,13 +527,13 @@ _dbus_test_test_int (Test* self, { GVariantIter _arguments_iter; TestTestIntReadyData* _ready_data; - GVariant* _tmp6_; + GVariant* _tmp5_; g_variant_iter_init (&_arguments_iter, _parameters_); _ready_data = g_slice_new0 (TestTestIntReadyData); _ready_data->_invocation_ = invocation; - _tmp6_ = g_variant_iter_next_value (&_arguments_iter); - _ready_data->i = g_variant_get_int32 (_tmp6_); - g_variant_unref (_tmp6_); + _tmp5_ = g_variant_iter_next_value (&_arguments_iter); + _ready_data->i = g_variant_get_int32 (_tmp5_); + g_variant_unref (_tmp5_); test_test_int (self, _ready_data->i, (GAsyncReadyCallback) _dbus_test_test_int_ready, _ready_data); } @@ -651,13 +577,13 @@ _dbus_test_test_string (Test* self, { GVariantIter _arguments_iter; TestTestStringReadyData* _ready_data; - GVariant* _tmp7_; + GVariant* _tmp6_; g_variant_iter_init (&_arguments_iter, _parameters_); _ready_data = g_slice_new0 (TestTestStringReadyData); _ready_data->_invocation_ = invocation; - _tmp7_ = g_variant_iter_next_value (&_arguments_iter); - _ready_data->s = g_variant_dup_string (_tmp7_, NULL); - g_variant_unref (_tmp7_); + _tmp6_ = g_variant_iter_next_value (&_arguments_iter); + _ready_data->s = g_variant_dup_string (_tmp6_, NULL); + g_variant_unref (_tmp6_); test_test_string (self, _ready_data->s, (GAsyncReadyCallback) _dbus_test_test_string_ready, _ready_data); _error: ; diff --git a/tests/dbus/basic-types_client.c-expected b/tests/dbus/basic-types_client.c-expected index 67e9b3333..f661f4dec 100644 --- a/tests/dbus/basic-types_client.c-expected +++ b/tests/dbus/basic-types_client.c-expected @@ -380,25 +380,14 @@ static void test_proxy_test_void (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestVoid"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestVoid", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static gint @@ -407,43 +396,29 @@ test_proxy_test_int (Test* self, gint* j, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _vala_j = 0; - GVariant* _tmp2_; + GVariant* _tmp1_; gint _result = 0; - GVariant* _tmp3_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestInt"); + GVariant* _tmp2_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp0_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestInt", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _vala_j = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + *j = _vala_j; _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _vala_j = g_variant_get_int32 (_tmp2_); + _result = g_variant_get_int32 (_tmp2_); g_variant_unref (_tmp2_); - *j = _vala_j; - _tmp3_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp3_); - g_variant_unref (_tmp3_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -453,41 +428,28 @@ test_proxy_test_string (Test* self, gchar** t, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gchar* _vala_t = NULL; - GVariant* _tmp4_; + GVariant* _tmp3_; gchar* _result = NULL; - GVariant* _tmp5_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestString"); + GVariant* _tmp4_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (s)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestString", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp3_ = g_variant_iter_next_value (&_reply_iter); + _vala_t = g_variant_dup_string (_tmp3_, NULL); + g_variant_unref (_tmp3_); + *t = _vala_t; _tmp4_ = g_variant_iter_next_value (&_reply_iter); - _vala_t = g_variant_dup_string (_tmp4_, NULL); + _result = g_variant_dup_string (_tmp4_, NULL); g_variant_unref (_tmp4_); - *t = _vala_t; - _tmp5_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_dup_string (_tmp5_, NULL); - g_variant_unref (_tmp5_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -497,43 +459,30 @@ test_proxy_test_signature (Test* self, GVariantType** tp2, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - gchar* _tmp6_; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; + gchar* _tmp5_; GVariantIter _reply_iter; GVariantType* _vala_tp2 = NULL; - GVariant* _tmp7_; + GVariant* _tmp6_; GVariantType* _result = NULL; - GVariant* _tmp8_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestSignature"); + GVariant* _tmp7_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _tmp6_ = g_variant_type_dup_string (tp1); - g_variant_builder_add_value (&_arguments_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp6_, strlen (_tmp6_) + 1, TRUE, g_free, _tmp6_)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _tmp5_ = g_variant_type_dup_string (tp1); + g_variant_builder_add_value (&_arguments_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp5_, strlen (_tmp5_) + 1, TRUE, g_free, _tmp5_)); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestSignature", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp6_ = g_variant_iter_next_value (&_reply_iter); + _vala_tp2 = g_variant_type_new (g_variant_get_string (_tmp6_, NULL)); + g_variant_unref (_tmp6_); + *tp2 = _vala_tp2; _tmp7_ = g_variant_iter_next_value (&_reply_iter); - _vala_tp2 = g_variant_type_new (g_variant_get_string (_tmp7_, NULL)); + _result = g_variant_type_new (g_variant_get_string (_tmp7_, NULL)); g_variant_unref (_tmp7_); - *tp2 = _vala_tp2; - _tmp8_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_type_new (g_variant_get_string (_tmp8_, NULL)); - g_variant_unref (_tmp8_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -600,8 +549,8 @@ test_dbus_proxy_get_test_int_property (Test* self) _arguments = g_variant_builder_end (&_arguments_builder); _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); if (!_reply) { - gint _tmp9_ = 0; - return _tmp9_; + gint _tmp8_ = 0; + return _tmp8_; } g_variant_get (_reply, "(v)", &_inner_reply); g_variant_unref (_reply); @@ -665,13 +614,13 @@ test_dbus_proxy_set_test_signature_property (Test* self, GVariant *_arguments; GVariant *_reply; GVariantBuilder _arguments_builder; - gchar* _tmp10_; + gchar* _tmp9_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.example.Test")); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("TestSignatureProperty")); g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT); - _tmp10_ = g_variant_type_dup_string (value); - g_variant_builder_add_value (&_arguments_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp10_, strlen (_tmp10_) + 1, TRUE, g_free, _tmp10_)); + _tmp9_ = g_variant_type_dup_string (value); + g_variant_builder_add_value (&_arguments_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp9_, strlen (_tmp9_) + 1, TRUE, g_free, _tmp9_)); g_variant_builder_close (&_arguments_builder); _arguments = g_variant_builder_end (&_arguments_builder); _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Set", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); @@ -729,16 +678,16 @@ _dbus_test_test_int (Test* self, GError* error = NULL; GVariantIter _arguments_iter; gint i = 0; - GVariant* _tmp11_; + GVariant* _tmp10_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; gint j = 0; gint result; g_variant_iter_init (&_arguments_iter, _parameters_); - _tmp11_ = g_variant_iter_next_value (&_arguments_iter); - i = g_variant_get_int32 (_tmp11_); - g_variant_unref (_tmp11_); + _tmp10_ = g_variant_iter_next_value (&_arguments_iter); + i = g_variant_get_int32 (_tmp10_); + g_variant_unref (_tmp10_); result = test_test_int (self, i, &j, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); @@ -763,16 +712,16 @@ _dbus_test_test_string (Test* self, GError* error = NULL; GVariantIter _arguments_iter; gchar* s = NULL; - GVariant* _tmp12_; + GVariant* _tmp11_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; gchar* t = NULL; gchar* result; g_variant_iter_init (&_arguments_iter, _parameters_); - _tmp12_ = g_variant_iter_next_value (&_arguments_iter); - s = g_variant_dup_string (_tmp12_, NULL); - g_variant_unref (_tmp12_); + _tmp11_ = g_variant_iter_next_value (&_arguments_iter); + s = g_variant_dup_string (_tmp11_, NULL); + g_variant_unref (_tmp11_); result = test_test_string (self, s, &t, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); @@ -802,18 +751,18 @@ _dbus_test_test_signature (Test* self, GError* error = NULL; GVariantIter _arguments_iter; GVariantType* tp1 = NULL; - GVariant* _tmp13_; + GVariant* _tmp12_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; GVariantType* tp2 = NULL; - gchar* _tmp14_; + gchar* _tmp13_; GVariantType* result; - gchar* _tmp15_; + gchar* _tmp14_; g_variant_iter_init (&_arguments_iter, _parameters_); - _tmp13_ = g_variant_iter_next_value (&_arguments_iter); - tp1 = g_variant_type_new (g_variant_get_string (_tmp13_, NULL)); - g_variant_unref (_tmp13_); + _tmp12_ = g_variant_iter_next_value (&_arguments_iter); + tp1 = g_variant_type_new (g_variant_get_string (_tmp12_, NULL)); + g_variant_unref (_tmp12_); result = test_test_signature (self, tp1, &tp2, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); @@ -821,10 +770,10 @@ _dbus_test_test_signature (Test* self, } _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation)); g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE); - _tmp14_ = g_variant_type_dup_string (tp2); + _tmp13_ = g_variant_type_dup_string (tp2); + g_variant_builder_add_value (&_reply_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp13_, strlen (_tmp13_) + 1, TRUE, g_free, _tmp13_)); + _tmp14_ = g_variant_type_dup_string (result); g_variant_builder_add_value (&_reply_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp14_, strlen (_tmp14_) + 1, TRUE, g_free, _tmp14_)); - _tmp15_ = g_variant_type_dup_string (result); - g_variant_builder_add_value (&_reply_builder, g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp15_, strlen (_tmp15_) + 1, TRUE, g_free, _tmp15_)); _g_variant_type_free0 (result); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); @@ -890,10 +839,10 @@ _dbus_test_get_test_signature_property (Test* self) { GVariantType* result; GVariant* _reply; - gchar* _tmp16_; + gchar* _tmp15_; result = test_get_test_signature_property (self); - _tmp16_ = g_variant_type_dup_string (result); - _reply = g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp16_, strlen (_tmp16_) + 1, TRUE, g_free, _tmp16_); + _tmp15_ = g_variant_type_dup_string (result); + _reply = g_variant_new_from_data (G_VARIANT_TYPE_SIGNATURE, _tmp15_, strlen (_tmp15_) + 1, TRUE, g_free, _tmp15_); _g_variant_type_free0 (result); return _reply; } diff --git a/tests/dbus/bug602003_client.c-expected b/tests/dbus/bug602003_client.c-expected index 82c5e19ae..ad9ed609f 100644 --- a/tests/dbus/bug602003_client.c-expected +++ b/tests/dbus/bug602003_client.c-expected @@ -182,34 +182,21 @@ static GVariant* test_proxy_test_string (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; GVariant* _result = NULL; GVariant* _tmp0_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestString"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestString", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp0_ = g_variant_iter_next_value (&_reply_iter); _result = g_variant_get_variant (_tmp0_); g_variant_unref (_tmp0_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/bug735437_client.c-expected b/tests/dbus/bug735437_client.c-expected index 9974ed63c..ffbcb76bc 100644 --- a/tests/dbus/bug735437_client.c-expected +++ b/tests/dbus/bug735437_client.c-expected @@ -250,11 +250,8 @@ test_proxy_array (Test* self, gint* result_length1, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gdouble* _result = NULL; gint _result_length1; @@ -265,22 +262,11 @@ test_proxy_array (Test* self, gint _tmp1__length1; GVariantIter _tmp2_; GVariant* _tmp3_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Array"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Array", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _result_length1 = 0; _tmp0_ = g_variant_iter_next_value (&_reply_iter); @@ -301,7 +287,7 @@ test_proxy_array (Test* self, _result = _tmp1_; g_variant_unref (_tmp0_); *result_length1 = _result_length1; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -311,11 +297,8 @@ test_proxy_multi_array (Test* self, gint* result_length2, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gdouble* _result = NULL; gint _result_length1; @@ -327,22 +310,11 @@ test_proxy_multi_array (Test* self, gint _tmp5__length1; GVariantIter _tmp6_; GVariant* _tmp7_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "MultiArray"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "MultiArray", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _result_length1 = 0; _result_length2 = 0; @@ -374,7 +346,7 @@ test_proxy_multi_array (Test* self, g_variant_unref (_tmp4_); *result_length1 = _result_length1; *result_length2 = _result_length2; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -385,11 +357,8 @@ test_proxy_multi_array2 (Test* self, gint* result_length3, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gchar** _result = NULL; gint _result_length1; @@ -402,22 +371,11 @@ test_proxy_multi_array2 (Test* self, gint _tmp11__length1; GVariantIter _tmp12_; GVariant* _tmp13_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "MultiArray2"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "MultiArray2", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _result_length1 = 0; _result_length2 = 0; @@ -461,7 +419,7 @@ test_proxy_multi_array2 (Test* self, *result_length1 = _result_length1; *result_length2 = _result_length2; *result_length3 = _result_length3; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/bug782719_client.c-expected b/tests/dbus/bug782719_client.c-expected index 99598aaed..d30165898 100644 --- a/tests/dbus/bug782719_client.c-expected +++ b/tests/dbus/bug782719_client.c-expected @@ -183,11 +183,8 @@ static GHashTable* test_proxy_test_nested_dict (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; GHashTable* _result = NULL; GVariant* _tmp0_; @@ -195,21 +192,11 @@ test_proxy_test_nested_dict (Test* self, GVariantIter _tmp2_; GVariant* _tmp3_; GVariant* _tmp4_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestNestedDict"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestNestedDict", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp0_ = g_variant_iter_next_value (&_reply_iter); _tmp1_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_hash_table_unref); @@ -228,7 +215,7 @@ test_proxy_test_nested_dict (Test* self, } _result = _tmp1_; g_variant_unref (_tmp0_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/bug783002_client.c-expected b/tests/dbus/bug783002_client.c-expected index 962995001..bc58be5c0 100644 --- a/tests/dbus/bug783002_client.c-expected +++ b/tests/dbus/bug783002_client.c-expected @@ -103,9 +103,6 @@ static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); -static void _vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data); static void test_proxy_test_array_lifetime_async (Test* self, gchar** items, gint items_length1, @@ -252,15 +249,6 @@ test_proxy_init (TestProxy* self) g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } -static void -_vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data) -{ - g_task_return_pointer (user_data, g_object_ref (res), g_object_unref); - g_object_unref (user_data); -} - static void test_proxy_test_array_lifetime_async (Test* self, gchar** items, @@ -268,14 +256,10 @@ test_proxy_test_array_lifetime_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; gchar** _tmp0_; GVariantBuilder _tmp1_; gint _tmp2_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestArrayLifetime"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _tmp0_ = items; g_variant_builder_init (&_tmp1_, G_VARIANT_TYPE ("as")); @@ -284,15 +268,7 @@ test_proxy_test_array_lifetime_async (Test* self, _tmp0_++; } g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp1_)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "TestArrayLifetime", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static gchar* @@ -300,28 +276,19 @@ test_proxy_test_array_lifetime_finish (Test* self, GAsyncResult* _res_, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; GVariant *_reply; GVariantIter _reply_iter; gchar* _result = NULL; GVariant* _tmp3_; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp3_ = g_variant_iter_next_value (&_reply_iter); _result = g_variant_dup_string (_tmp3_, NULL); g_variant_unref (_tmp3_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/bug792277.c-expected b/tests/dbus/bug792277.c-expected index 55585c181..87d7da7aa 100644 --- a/tests/dbus/bug792277.c-expected +++ b/tests/dbus/bug792277.c-expected @@ -284,73 +284,41 @@ static void ifoo_proxy_method0 (IFoo* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.IFoo", "Method0"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Method0", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void ifoo_proxy_method1 (IFoo* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.IFoo", "Method1"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Method1", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void ifoo_proxy_method2 (IFoo* self) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.IFoo", "Method2"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, NULL); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, NULL)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Method2", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void diff --git a/tests/dbus/connection_client.c-expected b/tests/dbus/connection_client.c-expected index 989551a7f..fbc9a5bcf 100644 --- a/tests/dbus/connection_client.c-expected +++ b/tests/dbus/connection_client.c-expected @@ -172,37 +172,22 @@ static gint test_proxy_get_test (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _result = 0; - GVariant* _tmp2_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "GetTest"); + GVariant* _tmp1_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp0_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "GetTest", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp2_); - g_variant_unref (_tmp2_); - g_object_unref (_reply_message); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _result = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/dicts_client.c-expected b/tests/dbus/dicts_client.c-expected index 393a102a1..fdb305a2d 100644 --- a/tests/dbus/dicts_client.c-expected +++ b/tests/dbus/dicts_client.c-expected @@ -213,11 +213,8 @@ static GHashTable* test_proxy_test_dict (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; GHashTable* _result = NULL; GVariant* _tmp0_; @@ -225,21 +222,11 @@ test_proxy_test_dict (Test* self, GVariantIter _tmp2_; GVariant* _tmp3_; GVariant* _tmp4_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestDict"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestDict", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp0_ = g_variant_iter_next_value (&_reply_iter); _tmp1_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref); @@ -249,7 +236,7 @@ test_proxy_test_dict (Test* self, } _result = _tmp1_; g_variant_unref (_tmp0_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -257,34 +244,21 @@ static GVariantDict* test_proxy_test_variant_dict (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; GVariantDict* _result = NULL; GVariant* _tmp5_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestVariantDict"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestVariantDict", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp5_ = g_variant_iter_next_value (&_reply_iter); _result = g_variant_dict_new (_tmp5_); g_variant_unref (_tmp5_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/dicts_server.c-expected b/tests/dbus/dicts_server.c-expected index 06795f643..5a5b6c499 100644 --- a/tests/dbus/dicts_server.c-expected +++ b/tests/dbus/dicts_server.c-expected @@ -589,11 +589,8 @@ static GHashTable* test_interface_bar_proxy_foo (TestInterfaceBar* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; GHashTable* _result = NULL; GVariant* _tmp4_; @@ -601,21 +598,11 @@ test_interface_bar_proxy_foo (TestInterfaceBar* self, GVariantIter _tmp6_; GVariant* _tmp7_; GVariant* _tmp8_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.vala.Test.Bar", "Foo"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Foo", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp4_ = g_variant_iter_next_value (&_reply_iter); _tmp5_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref); @@ -625,7 +612,7 @@ test_interface_bar_proxy_foo (TestInterfaceBar* self, } _result = _tmp5_; g_variant_unref (_tmp4_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/dynamic-method_client.c-expected b/tests/dbus/dynamic-method_client.c-expected index 5d45b28a9..b29ca30ea 100644 --- a/tests/dbus/dynamic-method_client.c-expected +++ b/tests/dbus/dynamic-method_client.c-expected @@ -48,10 +48,10 @@ struct _RunData { gchar* s; gint i; GDBusProxy* _tmp5_; - gchar* _tmp10_; - gint _tmp11_; - const gchar* _tmp12_; - GMainLoop* _tmp13_; + gchar* _tmp9_; + gint _tmp10_; + const gchar* _tmp11_; + GMainLoop* _tmp12_; GError* _inner_error0_; }; @@ -119,42 +119,29 @@ _dynamic_do_foo0 (GDBusProxy* self, gchar** param2, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gchar* _vala_param2 = NULL; - GVariant* _tmp8_; + GVariant* _tmp7_; gint _result = 0; - GVariant* _tmp9_; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), g_dbus_proxy_get_interface_name ((GDBusProxy *) self), "do_foo"); + GVariant* _tmp8_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (param1)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp6_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "do_foo", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp6_ = -1; return _tmp6_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp7_ = 0; - g_object_unref (_reply_message); - return _tmp7_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp7_ = g_variant_iter_next_value (&_reply_iter); + _vala_param2 = g_variant_dup_string (_tmp7_, NULL); + g_variant_unref (_tmp7_); + *param2 = _vala_param2; _tmp8_ = g_variant_iter_next_value (&_reply_iter); - _vala_param2 = g_variant_dup_string (_tmp8_, NULL); + _result = g_variant_get_int32 (_tmp8_); g_variant_unref (_tmp8_); - *param2 = _vala_param2; - _tmp9_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp9_); - g_variant_unref (_tmp9_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -196,11 +183,11 @@ run_co (RunData* _data_) goto __catch0_g_error; } _data_->_tmp5_ = _data_->test; - _data_->_tmp10_ = NULL; - _data_->_tmp11_ = _dynamic_do_foo0 (_data_->_tmp5_, 42, &_data_->_tmp10_, &_data_->_inner_error0_); + _data_->_tmp9_ = NULL; + _data_->_tmp10_ = _dynamic_do_foo0 (_data_->_tmp5_, 42, &_data_->_tmp9_, &_data_->_inner_error0_); _g_free0 (_data_->s); - _data_->s = _data_->_tmp10_; - _data_->i = _data_->_tmp11_; + _data_->s = _data_->_tmp9_; + _data_->i = _data_->_tmp10_; if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { _g_free0 (_data_->s); _g_object_unref0 (_data_->test); @@ -208,8 +195,8 @@ run_co (RunData* _data_) goto __catch0_g_error; } _vala_assert (_data_->i == 23, "i == 23"); - _data_->_tmp12_ = _data_->s; - _vala_assert (g_strcmp0 (_data_->_tmp12_, "foo") == 0, "s == \"foo\""); + _data_->_tmp11_ = _data_->s; + _vala_assert (g_strcmp0 (_data_->_tmp11_, "foo") == 0, "s == \"foo\""); _g_free0 (_data_->s); _g_object_unref0 (_data_->test); _g_object_unref0 (_data_->bus); @@ -226,8 +213,8 @@ run_co (RunData* _data_) g_object_unref (_data_->_async_result); return FALSE; } - _data_->_tmp13_ = main_loop; - g_main_loop_quit (_data_->_tmp13_); + _data_->_tmp12_ = main_loop; + g_main_loop_quit (_data_->_tmp12_); g_task_return_pointer (_data_->_async_result, _data_, NULL); if (_data_->_state_ != 0) { while (!g_task_get_completed (_data_->_async_result)) { diff --git a/tests/dbus/enum-string-marshalling.c-expected b/tests/dbus/enum-string-marshalling.c-expected index 9b3aff152..4abb3840b 100644 --- a/tests/dbus/enum-string-marshalling.c-expected +++ b/tests/dbus/enum-string-marshalling.c-expected @@ -104,9 +104,6 @@ static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); -static void _vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data); static void test_proxy_test1_async (Test* self, FooEnum e, GAsyncReadyCallback _callback_, @@ -394,37 +391,16 @@ test_proxy_init (TestProxy* self) g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } -static void -_vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data) -{ - g_task_return_pointer (user_data, g_object_ref (res), g_object_unref); - g_object_unref (user_data); -} - static void test_proxy_test1_async (Test* self, FooEnum e, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_DBUS_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Test1"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (foo_enum_to_string (e))); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "Test1", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static void @@ -432,19 +408,12 @@ test_proxy_test1_finish (Test* self, GAsyncResult* _res_, GError** error) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { + GVariant *_reply; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -452,26 +421,15 @@ test_proxy_test2 (Test* self, FooEnum e, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - G_DBUS_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Test2"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (foo_enum_to_string (e))); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Test2", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -481,53 +439,32 @@ test_proxy_test3 (Test* self, FooEnum e2, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - G_DBUS_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Test3"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (foo_enum_to_string (e1))); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (fd)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (foo_enum_to_string (e2))); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Test3", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void test_proxy_test4 (Test* self, FooEnum e) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Test4"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (foo_enum_to_string (e))); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, NULL); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Test4", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, NULL)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -536,40 +473,22 @@ test_proxy_test5_async (Test* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Test5"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (foo_enum_to_string (e))); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "Test5", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, _callback_, _user_data_); } static void test_proxy_test5_finish (Test* self, GAsyncResult* _res_) { - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, NULL); - g_object_unref (_inner_res); - if (!_reply_message) { + GVariant *_reply; + _reply = g_dbus_proxy_call_finish ((GDBusProxy *) self, _res_, NULL); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, NULL)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void diff --git a/tests/dbus/errors_client.c-expected b/tests/dbus/errors_client.c-expected index 8d11968ac..d081a115c 100644 --- a/tests/dbus/errors_client.c-expected +++ b/tests/dbus/errors_client.c-expected @@ -308,24 +308,14 @@ static void test_proxy_test_void (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestVoid"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestVoid", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static gint @@ -334,42 +324,29 @@ test_proxy_test_int (Test* self, gint* j, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _vala_j = 0; - GVariant* _tmp2_; + GVariant* _tmp1_; gint _result = 0; - GVariant* _tmp3_; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestInt"); + GVariant* _tmp2_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp0_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestInt", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _vala_j = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + *j = _vala_j; _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _vala_j = g_variant_get_int32 (_tmp2_); + _result = g_variant_get_int32 (_tmp2_); g_variant_unref (_tmp2_); - *j = _vala_j; - _tmp3_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp3_); - g_variant_unref (_tmp3_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -379,40 +356,28 @@ test_proxy_test_string (Test* self, gchar** t, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gchar* _vala_t = NULL; - GVariant* _tmp4_; + GVariant* _tmp3_; gchar* _result = NULL; - GVariant* _tmp5_; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestString"); + GVariant* _tmp4_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (s)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestString", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); + _tmp3_ = g_variant_iter_next_value (&_reply_iter); + _vala_t = g_variant_dup_string (_tmp3_, NULL); + g_variant_unref (_tmp3_); + *t = _vala_t; _tmp4_ = g_variant_iter_next_value (&_reply_iter); - _vala_t = g_variant_dup_string (_tmp4_, NULL); + _result = g_variant_dup_string (_tmp4_, NULL); g_variant_unref (_tmp4_); - *t = _vala_t; - _tmp5_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_dup_string (_tmp5_, NULL); - g_variant_unref (_tmp5_); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -421,49 +386,29 @@ test_proxy_test_cancellable (Test* self, GCancellable* cancellable, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestCancellable"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, cancellable, error); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestCancellable", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, cancellable, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void test_proxy_test_custom_error (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; TEST_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestCustomError"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestCustomError", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -509,16 +454,16 @@ _dbus_test_test_int (Test* self, GError* error = NULL; GVariantIter _arguments_iter; gint i = 0; - GVariant* _tmp6_; + GVariant* _tmp5_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; gint j = 0; gint result; g_variant_iter_init (&_arguments_iter, _parameters_); - _tmp6_ = g_variant_iter_next_value (&_arguments_iter); - i = g_variant_get_int32 (_tmp6_); - g_variant_unref (_tmp6_); + _tmp5_ = g_variant_iter_next_value (&_arguments_iter); + i = g_variant_get_int32 (_tmp5_); + g_variant_unref (_tmp5_); result = test_test_int (self, i, &j, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); @@ -543,16 +488,16 @@ _dbus_test_test_string (Test* self, GError* error = NULL; GVariantIter _arguments_iter; gchar* s = NULL; - GVariant* _tmp7_; + GVariant* _tmp6_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; gchar* t = NULL; gchar* result; g_variant_iter_init (&_arguments_iter, _parameters_); - _tmp7_ = g_variant_iter_next_value (&_arguments_iter); - s = g_variant_dup_string (_tmp7_, NULL); - g_variant_unref (_tmp7_); + _tmp6_ = g_variant_iter_next_value (&_arguments_iter); + s = g_variant_dup_string (_tmp6_, NULL); + g_variant_unref (_tmp6_); result = test_test_string (self, s, &t, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/filedescriptor-async_client.c-expected b/tests/dbus/filedescriptor-async_client.c-expected index f44e0d3df..0e8666a7a 100644 --- a/tests/dbus/filedescriptor-async_client.c-expected +++ b/tests/dbus/filedescriptor-async_client.c-expected @@ -139,9 +139,6 @@ static void test_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters); -static void _vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data); static void test_proxy_test_in_async (Test* self, GUnixInputStream* i, GAsyncReadyCallback _callback_, @@ -283,15 +280,6 @@ test_proxy_init (TestProxy* self) g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_test_dbus_interface_info)); } -static void -_vala_g_async_ready_callback (GObject *source_object, - GAsyncResult *res, - void *user_data) -{ - g_task_return_pointer (user_data, g_object_ref (res), g_object_unref); - g_object_unref (user_data); -} - static void test_proxy_test_in_async (Test* self, GUnixInputStream* i, @@ -299,25 +287,12 @@ test_proxy_test_in_async (Test* self, gpointer _user_data_) { GUnixFDList* _fd_list; - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestIn"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _fd_list = g_unix_fd_list_new (); g_variant_builder_add (&_arguments_builder, "h", g_unix_fd_list_append (_fd_list, g_unix_input_stream_get_fd (i), NULL)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - g_dbus_message_set_unix_fd_list (_message, _fd_list); + g_dbus_proxy_call_with_unix_fd_list ((GDBusProxy *) self, "TestIn", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, _fd_list, NULL, _callback_, _user_data_); g_object_unref (_fd_list); - if (_callback_ != NULL) { - g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_)); - } else { - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); - } - g_object_unref (_message); } static GUnixInputStream* @@ -327,56 +302,55 @@ test_proxy_test_in_finish (Test* self, GError** error) { GUnixFDList* _fd_list; - GAsyncResult *_inner_res; - GDBusMessage *_reply_message; + GUnixFDList* _out_fd_list; + GVariant *_reply; gint _fd_index = 0; gint _fd; - GVariant *_reply; GVariantIter _reply_iter; GUnixInputStream* _vala_j = NULL; GUnixInputStream* _result = NULL; - _inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL); - _reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error); - g_object_unref (_inner_res); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_with_unix_fd_list_finish ((GDBusProxy *) self, &_out_fd_list, _res_, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _fd_list = g_dbus_message_get_unix_fd_list (_reply_message); - if (_fd_list) { + if (_out_fd_list) { g_variant_iter_next (&_reply_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, error); + _fd = g_unix_fd_list_get (_out_fd_list, _fd_index, error); if (_fd >= 0) { _vala_j = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } *j = _vala_j; if (error && (*error)) { - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return NULL; } - _fd_list = g_dbus_message_get_unix_fd_list (_reply_message); - if (_fd_list) { + if (_out_fd_list) { g_variant_iter_next (&_reply_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, error); + _fd = g_unix_fd_list_get (_out_fd_list, _fd_index, error); if (_fd >= 0) { _result = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error && (*error)) { - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return NULL; } - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return _result; } @@ -401,15 +375,14 @@ _dbus_test_test_in (Test* self, g_variant_iter_init (&_arguments_iter, _parameters_); _ready_data = g_slice_new0 (TestTestInReadyData); _ready_data->_invocation_ = invocation; - _fd_list = g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)); - if (_fd_list) { + if (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))) { g_variant_iter_next (&_arguments_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, &error); + _fd = g_unix_fd_list_get (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)), _fd_index, &error); if (_fd >= 0) { _ready_data->i = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/filedescriptor-async_server.c-expected b/tests/dbus/filedescriptor-async_server.c-expected index 18398eb45..85747e498 100644 --- a/tests/dbus/filedescriptor-async_server.c-expected +++ b/tests/dbus/filedescriptor-async_server.c-expected @@ -430,15 +430,14 @@ _dbus_test_test_in (Test* self, g_variant_iter_init (&_arguments_iter, _parameters_); _ready_data = g_slice_new0 (TestTestInReadyData); _ready_data->_invocation_ = invocation; - _fd_list = g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)); - if (_fd_list) { + if (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))) { g_variant_iter_next (&_arguments_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, &error); + _fd = g_unix_fd_list_get (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)), _fd_index, &error); if (_fd >= 0) { _ready_data->i = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/filedescriptor-errors_client.c-expected b/tests/dbus/filedescriptor-errors_client.c-expected index dfb17b9a0..01444ac44 100644 --- a/tests/dbus/filedescriptor-errors_client.c-expected +++ b/tests/dbus/filedescriptor-errors_client.c-expected @@ -183,40 +183,30 @@ test_proxy_test (Test* self, GError** error) { GUnixFDList* _fd_list; - GDBusMessage *_message; - GVariant *_arguments; + GUnixFDList* _out_fd_list; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; gint _fd_index = 0; gint _fd; - GVariant *_reply; GVariantIter _reply_iter; gchar* _result = NULL; GVariant* _tmp0_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Test"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _fd_list = g_unix_fd_list_new (); g_variant_builder_add (&_arguments_builder, "h", g_unix_fd_list_append (_fd_list, g_unix_output_stream_get_fd (output_stream), NULL)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - g_dbus_message_set_unix_fd_list (_message, _fd_list); + _reply = g_dbus_proxy_call_with_unix_fd_list_sync ((GDBusProxy *) self, "Test", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, _fd_list, &_out_fd_list, NULL, error); g_object_unref (_fd_list); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp0_ = g_variant_iter_next_value (&_reply_iter); _result = g_variant_dup_string (_tmp0_, NULL); g_variant_unref (_tmp0_); - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return _result; } @@ -242,15 +232,14 @@ _dbus_test_test (Test* self, GVariantBuilder _reply_builder; gchar* result; g_variant_iter_init (&_arguments_iter, _parameters_); - _fd_list = g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)); - if (_fd_list) { + if (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))) { g_variant_iter_next (&_arguments_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, &error); + _fd = g_unix_fd_list_get (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)), _fd_index, &error); if (_fd >= 0) { output_stream = (GUnixOutputStream *) g_unix_output_stream_new (_fd, TRUE); } } else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/filedescriptor-errors_server.c-expected b/tests/dbus/filedescriptor-errors_server.c-expected index dcdc4ae87..41b7e57d4 100644 --- a/tests/dbus/filedescriptor-errors_server.c-expected +++ b/tests/dbus/filedescriptor-errors_server.c-expected @@ -225,15 +225,14 @@ _dbus_test_test (Test* self, GVariant* _reply; GVariantBuilder _reply_builder; g_variant_iter_init (&_arguments_iter, _parameters_); - _fd_list = g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)); - if (_fd_list) { + if (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))) { g_variant_iter_next (&_arguments_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, &error); + _fd = g_unix_fd_list_get (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)), _fd_index, &error); if (_fd >= 0) { output_stream = (GUnixOutputStream *) g_unix_output_stream_new (_fd, TRUE); } } else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/filedescriptor_client.c-expected b/tests/dbus/filedescriptor_client.c-expected index abefbc0e0..a4b0f6908 100644 --- a/tests/dbus/filedescriptor_client.c-expected +++ b/tests/dbus/filedescriptor_client.c-expected @@ -186,66 +186,60 @@ test_proxy_test_in (Test* self, GError** error) { GUnixFDList* _fd_list; - GDBusMessage *_message; - GVariant *_arguments; + GUnixFDList* _out_fd_list; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; gint _fd_index = 0; gint _fd; - GVariant *_reply; GVariantIter _reply_iter; GUnixInputStream* _vala_j = NULL; GUnixInputStream* _result = NULL; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestIn"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _fd_list = g_unix_fd_list_new (); g_variant_builder_add (&_arguments_builder, "h", g_unix_fd_list_append (_fd_list, g_unix_input_stream_get_fd (i), NULL)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - g_dbus_message_set_unix_fd_list (_message, _fd_list); + _reply = g_dbus_proxy_call_with_unix_fd_list_sync ((GDBusProxy *) self, "TestIn", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, _fd_list, &_out_fd_list, NULL, error); g_object_unref (_fd_list); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _fd_list = g_dbus_message_get_unix_fd_list (_reply_message); - if (_fd_list) { + if (_out_fd_list) { g_variant_iter_next (&_reply_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, error); + _fd = g_unix_fd_list_get (_out_fd_list, _fd_index, error); if (_fd >= 0) { _vala_j = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } *j = _vala_j; if (error && (*error)) { - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return NULL; } - _fd_list = g_dbus_message_get_unix_fd_list (_reply_message); - if (_fd_list) { + if (_out_fd_list) { g_variant_iter_next (&_reply_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, error); + _fd = g_unix_fd_list_get (_out_fd_list, _fd_index, error); if (_fd >= 0) { _result = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error && (*error)) { - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return NULL; } - g_object_unref (_reply_message); + g_variant_unref (_reply); + if (_out_fd_list) { + g_object_unref (_out_fd_list); + } return _result; } @@ -272,15 +266,14 @@ _dbus_test_test_in (Test* self, GUnixInputStream* j = NULL; GUnixInputStream* result; g_variant_iter_init (&_arguments_iter, _parameters_); - _fd_list = g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)); - if (_fd_list) { + if (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))) { g_variant_iter_next (&_arguments_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, &error); + _fd = g_unix_fd_list_get (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)), _fd_index, &error); if (_fd >= 0) { i = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/filedescriptor_server.c-expected b/tests/dbus/filedescriptor_server.c-expected index b616d9bbc..880eef4de 100644 --- a/tests/dbus/filedescriptor_server.c-expected +++ b/tests/dbus/filedescriptor_server.c-expected @@ -321,15 +321,14 @@ _dbus_test_test_in (Test* self, GUnixInputStream* j = NULL; GUnixInputStream* result; g_variant_iter_init (&_arguments_iter, _parameters_); - _fd_list = g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)); - if (_fd_list) { + if (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))) { g_variant_iter_next (&_arguments_iter, "h", &_fd_index); - _fd = g_unix_fd_list_get (_fd_list, _fd_index, &error); + _fd = g_unix_fd_list_get (g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)), _fd_index, &error); if (_fd >= 0) { i = (GUnixInputStream *) g_unix_input_stream_new (_fd, TRUE); } } else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "FD List is NULL"); + g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "No file descriptor returned"); } if (error) { g_dbus_method_invocation_take_error (invocation, error); diff --git a/tests/dbus/generics_client.c-expected b/tests/dbus/generics_client.c-expected index 757b763ce..17656edf4 100644 --- a/tests/dbus/generics_client.c-expected +++ b/tests/dbus/generics_client.c-expected @@ -179,37 +179,22 @@ static gint test_proxy_get_test (Test* self, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _result = 0; - GVariant* _tmp2_; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "GetTest"); + GVariant* _tmp1_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp0_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "GetTest", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp0_ = -1; return _tmp0_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp1_ = 0; - g_object_unref (_reply_message); - return _tmp1_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _tmp2_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp2_); - g_variant_unref (_tmp2_); - g_object_unref (_reply_message); + _tmp1_ = g_variant_iter_next_value (&_reply_iter); + _result = g_variant_get_int32 (_tmp1_); + g_variant_unref (_tmp1_); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/no-reply_client.c-expected b/tests/dbus/no-reply_client.c-expected index be387f8f6..3b9106953 100644 --- a/tests/dbus/no-reply_client.c-expected +++ b/tests/dbus/no-reply_client.c-expected @@ -326,11 +326,8 @@ test_proxy_list_messages (Test* self, gint* result_length1, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gchar** _result = NULL; gint _result_length1; @@ -341,21 +338,11 @@ test_proxy_list_messages (Test* self, gint _tmp1__length1; GVariantIter _tmp2_; GVariant* _tmp3_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "ListMessages"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "ListMessages", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return NULL; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _result_length1 = 0; _tmp0_ = g_variant_iter_next_value (&_reply_iter); @@ -377,7 +364,7 @@ test_proxy_list_messages (Test* self, _result = _tmp1_; g_variant_unref (_tmp0_); *result_length1 = _result_length1; - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } @@ -386,26 +373,15 @@ test_proxy_post_message (Test* self, const gchar* message, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "PostMessage"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (message)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "PostMessage", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -413,18 +389,10 @@ test_proxy_post_message_no_reply (Test* self, const gchar* message, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; GVariantBuilder _arguments_builder; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "PostMessageNoReply"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (message)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED); - g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, error); - g_object_unref (_message); + g_dbus_proxy_call ((GDBusProxy *) self, "PostMessageNoReply", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL); } static void diff --git a/tests/dbus/property-access_client.c-expected b/tests/dbus/property-access_client.c-expected index c9ecd405d..f20947883 100644 --- a/tests/dbus/property-access_client.c-expected +++ b/tests/dbus/property-access_client.c-expected @@ -256,24 +256,14 @@ test_proxy_init (TestProxy* self) static void test_proxy_verify (Test* self) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "Verify"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, NULL); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, NULL)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "Verify", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); + if (!_reply) { return; } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static gint diff --git a/tests/dbus/rawvariants_client.c-expected b/tests/dbus/rawvariants_client.c-expected index 63c9315f4..bf906958a 100644 --- a/tests/dbus/rawvariants_client.c-expected +++ b/tests/dbus/rawvariants_client.c-expected @@ -388,38 +388,24 @@ test_proxy_test_method (Test* self, gint k, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; gint _result = 0; - GVariant* _tmp3_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestMethod"); + GVariant* _tmp2_; g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (j)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (k)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - gint _tmp1_ = 0; + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestMethod", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { + gint _tmp1_ = -1; return _tmp1_; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - gint _tmp2_ = 0; - g_object_unref (_reply_message); - return _tmp2_; - } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); - _tmp3_ = g_variant_iter_next_value (&_reply_iter); - _result = g_variant_get_int32 (_tmp3_); - g_variant_unref (_tmp3_); - g_object_unref (_reply_message); + _tmp2_ = g_variant_iter_next_value (&_reply_iter); + _result = g_variant_get_int32 (_tmp2_); + g_variant_unref (_tmp2_); + g_variant_unref (_reply); return _result; } @@ -486,20 +472,20 @@ _dbus_test_test_method (Test* self, GError* error = NULL; GVariantIter _arguments_iter; gint j = 0; - GVariant* _tmp4_; + GVariant* _tmp3_; gint k = 0; - GVariant* _tmp5_; + GVariant* _tmp4_; GDBusMessage* _reply_message = NULL; GVariant* _reply; GVariantBuilder _reply_builder; gint result; g_variant_iter_init (&_arguments_iter, _parameters_); + _tmp3_ = g_variant_iter_next_value (&_arguments_iter); + j = g_variant_get_int32 (_tmp3_); + g_variant_unref (_tmp3_); _tmp4_ = g_variant_iter_next_value (&_arguments_iter); - j = g_variant_get_int32 (_tmp4_); + k = g_variant_get_int32 (_tmp4_); g_variant_unref (_tmp4_); - _tmp5_ = g_variant_iter_next_value (&_arguments_iter); - k = g_variant_get_int32 (_tmp5_); - g_variant_unref (_tmp5_); result = test_test_method (self, j, k, &error); if (error) { g_dbus_method_invocation_take_error (invocation, error); @@ -760,33 +746,20 @@ test_raw_proxy_test_method (TestRaw* self, GVariant* k, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; - GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; GVariant *_reply; + GVariantBuilder _arguments_builder; GVariantIter _reply_iter; GVariant* _result = NULL; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestMethod"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, j); g_variant_builder_add_value (&_arguments_builder, k); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return NULL; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestMethod", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return NULL; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _result = g_variant_iter_next_value (&_reply_iter); - g_object_unref (_reply_message); + g_variant_unref (_reply); return _result; } diff --git a/tests/dbus/signals_client.c-expected b/tests/dbus/signals_client.c-expected index 567b653ef..dbf4831a0 100644 --- a/tests/dbus/signals_client.c-expected +++ b/tests/dbus/signals_client.c-expected @@ -345,27 +345,15 @@ test_proxy_do_foo (Test* self, gint i, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; - GDBusMessage *_reply_message; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "DoFoo"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (i)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "DoFoo", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void @@ -374,16 +362,11 @@ test_proxy_do_bar (Test* self, gint baz_length1, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; gchar** _tmp5_; GVariantBuilder _tmp6_; gint _tmp7_; - GDBusMessage *_reply_message; - G_DBUS_ERROR; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "DoBar"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); _tmp5_ = baz; g_variant_builder_init (&_tmp6_, G_VARIANT_TYPE ("as")); @@ -392,18 +375,11 @@ test_proxy_do_bar (Test* self, _tmp5_++; } g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp6_)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "DoBar", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); - return; - } - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void diff --git a/tests/dbus/structs_client.c-expected b/tests/dbus/structs_client.c-expected index 9be666981..83e7f119e 100644 --- a/tests/dbus/structs_client.c-expected +++ b/tests/dbus/structs_client.c-expected @@ -313,12 +313,9 @@ test_proxy_test_struct (Test* self, FooStruct* result, GError** error) { - GDBusMessage *_message; - GVariant *_arguments; + GVariant *_reply; GVariantBuilder _arguments_builder; GVariantBuilder _tmp0_; - GDBusMessage *_reply_message; - GVariant *_reply; GVariantIter _reply_iter; FooStruct _vala_g = {0}; GVariant* _tmp1_; @@ -331,25 +328,15 @@ test_proxy_test_struct (Test* self, GVariantIter _tmp8_; GVariant* _tmp9_; GVariant* _tmp10_; - G_IO_ERROR; - _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.example.Test", "TestStruct"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); g_variant_builder_init (&_tmp0_, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_tmp0_, g_variant_new_int32 ((*f).i)); g_variant_builder_add_value (&_tmp0_, g_variant_new_string ((*f).s)); g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp0_)); - _arguments = g_variant_builder_end (&_arguments_builder); - g_dbus_message_set_body (_message, _arguments); - _reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error); - g_object_unref (_message); - if (!_reply_message) { - return; - } - if (g_dbus_message_to_gerror (_reply_message, error)) { - g_object_unref (_reply_message); + _reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "TestStruct", g_variant_builder_end (&_arguments_builder), G_DBUS_CALL_FLAGS_NONE, -1, NULL, error); + if (!_reply) { return; } - _reply = g_dbus_message_get_body (_reply_message); g_variant_iter_init (&_reply_iter, _reply); _tmp1_ = g_variant_iter_next_value (&_reply_iter); g_variant_iter_init (&_tmp3_, _tmp1_); @@ -372,7 +359,7 @@ test_proxy_test_struct (Test* self, g_variant_unref (_tmp10_); *result = _tmp7_; g_variant_unref (_tmp6_); - g_object_unref (_reply_message); + g_variant_unref (_reply); } static void