From 13b22b3744a1891c5b4c951a31db084d3bb6dcfd Mon Sep 17 00:00:00 2001 From: Tim Kourt Date: Thu, 15 Aug 2019 11:40:40 -0700 Subject: [PATCH] client: Change agent registration scenarios Previously, agent was registered only for the interactive mode. This patch enables agent registration in non-interactive mode taking into consideration the existence of the command-line options. --- client/dbus-proxy.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/client/dbus-proxy.c b/client/dbus-proxy.c index e7b18835..bce349cd 100644 --- a/client/dbus-proxy.c +++ b/client/dbus-proxy.c @@ -696,14 +696,18 @@ static void get_managed_objects_callback(struct l_dbus_message *message, while (l_dbus_message_iter_next_entry(&objects, &path, &object)) proxy_interface_create(path, &object); - if (!command_is_interactive_mode()) { - command_noninteractive_trigger(); + if (!command_is_interactive_mode() && !command_has_options()) + goto proceed; + + if (!agent_manager_register_agent()) { + l_main_quit(); return; } - if (!agent_manager_register_agent()) { - l_main_quit(); +proceed: + if (!command_is_interactive_mode()) { + command_noninteractive_trigger(); return; } @@ -816,7 +820,9 @@ bool dbus_proxy_exit(void) { struct interface_type_desc *desc; - if (command_is_interactive_mode()) + if (command_is_interactive_mode() || + (!command_is_interactive_mode() && + command_has_options())) agent_manager_unregister_agent(); for (desc = __start___interface; desc < __stop___interface; desc++) {