aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorDavid Barth <david.barth@canonical.com>2015-09-22 09:40:12 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-09-22 09:40:12 +0200
commit71e55e0f6cb1c949656441ee4f90585590efc68f (patch)
tree4452a5ccaf332d7de3f160279a467882cba8e6a3 /src/main.c
parent56462d6bfd5c99a0a5a47044cf536d286cb170c4 (diff)
downloadremote-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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 7c0a806..1d53edc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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;