X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fdiscover-server.c;h=f4e96c046927bd1e0709d7ea78a621fd3da4f26c;hp=b2025cce5e233e4f1232bba021303bb9733b5abe;hb=3367ca766bedda62e94a39e672e107aff6f3b144;hpb=61679084243c471053b0b1b9865b40d721586958 diff --git a/discover/discover-server.c b/discover/discover-server.c index b2025cc..f4e96c0 100644 --- a/discover/discover-server.c +++ b/discover/discover-server.c @@ -11,12 +11,12 @@ #include #include +#include +#include #include "pb-protocol/pb-protocol.h" #include "list/list.h" -#include "log.h" -#include "waiter.h" #include "device-handler.h" #include "discover-server.h" @@ -66,12 +66,12 @@ static void print_clients(struct discover_server *server) { struct client *client; - printf("current clients [%p,%p,%p]:\n", + pb_log("current clients [%p,%p,%p]:\n", &server->clients.head, server->clients.head.prev, server->clients.head.next); list_for_each_entry(&server->clients, client, list) - printf("\t[%p,%p,%p] client: %d\n", &client->list, + pb_log("\t[%p,%p,%p] client: %d\n", &client->list, client->list.prev, client->list.next, client->fd); } @@ -90,7 +90,7 @@ static int client_write_message( } static int write_add_message(struct discover_server *server, - struct client *client, struct device *dev) + struct client *client, const struct device *dev) { struct pb_protocol_message *message; int len; @@ -128,7 +128,6 @@ static int write_remove_message(struct discover_server *server, static int discover_server_process(void *arg) { struct discover_server *server = arg; - struct device *devices; struct client *client; int fd, i, n_devices; @@ -148,10 +147,13 @@ static int discover_server_process(void *arg) client->fd = fd; /* send existing devices to client */ - n_devices = device_handler_get_current_devices(server->device_handler, - &devices); - for (i = 0; i < n_devices; i++) - write_add_message(server, client, &devices[i]); + n_devices = device_handler_get_device_count(server->device_handler); + for (i = 0; i < n_devices; i++) { + const struct device *device; + + device = device_handler_get_device(server->device_handler, i); + write_add_message(server, client, device); + } return 0; }