From 5be946cda7b8e2271ade6188ca3f5dc068826619 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Tue, 16 Apr 2013 16:58:18 +0800 Subject: discover: Change parsers to emit resources rather than filenames This change switches the parsers over to populate the resources in discover_boot_option, rather than the string parameters in boot_option. To do this, we need a few things: * Add struct resources to discover_boot_option for the boot_image, initrd and icon data. * Have the parsers populate the resources, rather than the strings. Currently, parsers can all use the devpath resource type. * Add a resolve_resource callback to parsers; this is how the device handler will attempt to resolve resources. * Change load_file to load_url, as we should be only accessing (resolved) resources by URLs. This then allows us to remove the mount map, and associated lookup code, as well as the UUID and label links to devices. Signed-off-by: Jeremy Kerr --- test/parser/parser-test.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'test/parser') diff --git a/test/parser/parser-test.c b/test/parser/parser-test.c index cd6e62f..33b411b 100644 --- a/test/parser/parser-test.c +++ b/test/parser/parser-test.c @@ -35,6 +35,28 @@ struct discover_boot_option *discover_boot_option_create( return opt; } +struct discover_device *device_lookup_by_name( + struct device_handler *handler __attribute__((unused)), + const char *name __attribute__((unused))) +{ + return NULL; +} + +struct discover_device *device_lookup_by_label( + struct device_handler *handler __attribute__((unused)), + const char *label __attribute__((unused))) +{ + return NULL; +} + +struct discover_device *device_lookup_by_uuid( + struct device_handler *handler __attribute__((unused)), + const char *uuid __attribute__((unused))) +{ + return NULL; +} + + void discover_context_add_boot_option(struct discover_context *ctx, struct discover_boot_option *boot_option) { @@ -84,7 +106,7 @@ int main(int argc, char **argv) ctx->device = talloc_zero(ctx, struct discover_device); ctx->device->device = talloc_zero(ctx->device, struct device); - ctx->device->device_path = talloc_asprintf(ctx, "%s/%s", + ctx->device->mount_path = talloc_asprintf(ctx, "%s/%s", argv[1], argv[2]); ctx->device->device->id = talloc_strdup(ctx->device->device, argv[2]); -- cgit v1.2.1