From 12a5c9153ce95ddde7fb14eaba9d779933a3637c Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Mon, 11 Mar 2013 14:07:36 +0800 Subject: discover: Consolidate user events by device ID Currently, we assume all user events are for a new device. This means that we can never add boot options to an existing device. This change tries to find an existing (matching by ID) device before creating a new one in the user event add path. Signed-off-by: Jeremy Kerr --- ui/test/discover-test.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'ui/test/discover-test.c') diff --git a/ui/test/discover-test.c b/ui/test/discover-test.c index ae43b1e..8f7c2c2 100644 --- a/ui/test/discover-test.c +++ b/ui/test/discover-test.c @@ -28,6 +28,23 @@ static int print_device_add(struct device *device, return 0; } +static int print_boot_option_add(struct device *dev, + struct boot_option *opt, + void __attribute__((unused)) *arg) +{ + printf("new boot option (dev: %s):\n", dev->id); + printf("\tdev id: %s\n", opt->device_id); + printf("\tid: %s\n", opt->id); + printf("\tname: %s\n", opt->name); + printf("\tdesc: %s\n", opt->description); + printf("\ticon: %s\n", opt->icon_file); + printf("\tboot: %s\n", opt->boot_image_file); + printf("\tinit: %s\n", opt->initrd_file); + printf("\targs: %s\n", opt->boot_args); + + return 0; +} + static void print_device_remove(struct device *device, void __attribute__((unused)) *arg) { @@ -38,6 +55,7 @@ static void print_device_remove(struct device *device, static struct discover_client_ops client_ops = { .device_add = print_device_add, + .boot_option_add = print_boot_option_add, .device_remove = print_device_remove, }; -- cgit v1.2.1