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.
This commit is contained in:
Tim Kourt 2019-08-15 11:40:40 -07:00 committed by Denis Kenzior
parent 1c7344fdf6
commit 13b22b3744
1 changed files with 11 additions and 5 deletions

View File

@ -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++) {