diff options
author | David Barth <david.barth@canonical.com> | 2015-09-22 09:40:12 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2015-09-22 09:40:12 +0200 |
commit | 71e55e0f6cb1c949656441ee4f90585590efc68f (patch) | |
tree | 4452a5ccaf332d7de3f160279a467882cba8e6a3 /src/main.c | |
parent | 56462d6bfd5c99a0a5a47044cf536d286cb170c4 (diff) | |
download | remote-logon-service-71e55e0f6cb1c949656441ee4f90585590efc68f.tar.gz remote-logon-service-71e55e0f6cb1c949656441ee4f90585590efc68f.tar.bz2 remote-logon-service-71e55e0f6cb1c949656441ee4f90585590efc68f.zip |
ensure that the availability of a server gets signaled, even in the absence of an exec line
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -68,13 +68,17 @@ server_status_updated (Server * server, ServerState newstate, RemoteLogon * rl) GVariantBuilder builder; g_variant_builder_init(&builder, G_VARIANT_TYPE_ARRAY); - if (server_list_to_array(&builder, config_file_servers) > 0) { + gint servers = server_list_to_array(&builder, config_file_servers); + if (servers > 0) { array = g_variant_builder_end(&builder); } else { g_variant_builder_clear(&builder); array = g_variant_new_array(G_VARIANT_TYPE("(sssba(sbva{sv})a(si))"), NULL, 0); } + g_debug ("%d server(s) available", servers); + g_debug ("Signalling state change to: %d", newstate); + remote_logon_emit_servers_updated(rl, array); return; } @@ -167,6 +171,8 @@ handle_get_servers (RemoteLogon * rl, GDBusMethodInvocation * invocation, gpoint array = g_variant_new_array(G_VARIANT_TYPE("(sssba(sbva{sv})a(si))"), NULL, 0); } + g_debug ("handle_get_servers: returning %s", g_variant_print (array, FALSE)); + g_dbus_method_invocation_return_value(invocation, g_variant_new_tuple(&array, 1)); return TRUE; |