discover: Add configuration methods
[petitboot] / test / parser / parser-test.c
index 90b3e3b8e8693a9960b3ef5ed6d13854a677f98f..bf4ac6c80ac786403528c403fd951bbcb7712851 100644 (file)
@@ -7,7 +7,7 @@
 #include <unistd.h>
 
 #include <log/log.h>
-#include "pb-protocol/pb-protocol.h"
+#include <types/types.h>
 #include <talloc/talloc.h>
 
 #include "discover/device-handler.h"
 
 static FILE *testf;
 
-void device_add_boot_option(struct device *device,
-               struct boot_option *boot_option)
+struct device *discover_context_device(struct discover_context *ctx)
 {
-       fprintf(testf, "%s: %s\n", __func__, device->id);
-       fprintf(testf, " id     '%s'\n", boot_option->id);
-       fprintf(testf, " name   '%s'\n", boot_option->name);
-       fprintf(testf, " descr  '%s'\n", boot_option->description);
-       fprintf(testf, " icon   '%s'\n", boot_option->icon_file);
-       fprintf(testf, " image  '%s'\n", boot_option->boot_image_file);
-       fprintf(testf, " initrd '%s'\n", boot_option->initrd_file);
-       fprintf(testf, " args   '%s'\n", boot_option->boot_args);
+       return ctx->device->device;
+}
+
+struct discover_boot_option *discover_boot_option_create(
+               struct discover_context *ctx,
+               struct discover_device *dev)
+{
+       struct discover_boot_option *opt;
+
+       opt = talloc_zero(ctx, struct discover_boot_option);
+       opt->option = talloc(opt, struct boot_option);
+       opt->device = dev;
+
+       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)
+{
+       struct boot_option *opt = boot_option->option;
+
+       fprintf(testf, "%s: %s\n", __func__, ctx->device->device->id);
+       fprintf(testf, " id     '%s'\n", opt->id);
+       fprintf(testf, " name   '%s'\n", opt->name);
+       fprintf(testf, " descr  '%s'\n", opt->description);
+       fprintf(testf, " icon   '%s'\n", opt->icon_file);
+       fprintf(testf, " image  '%s'\n", opt->boot_image_file);
+       fprintf(testf, " initrd '%s'\n", opt->initrd_file);
+       fprintf(testf, " args   '%s'\n", opt->boot_args);
        fflush(testf);
 }
 
@@ -62,11 +104,13 @@ int main(int argc, char **argv)
 
        ctx = talloc_zero(NULL, struct discover_context);
 
-       ctx->device_path = talloc_asprintf(ctx, "%s/%s", argv[1], argv[2]);
-       ctx->device = talloc_zero(ctx, struct device);
-       ctx->device->id = talloc_strdup(ctx->device, argv[2]);
+       ctx->device = talloc_zero(ctx, struct discover_device);
+       ctx->device->device = talloc_zero(ctx->device, struct device);
+       ctx->device->mount_path = talloc_asprintf(ctx, "%s/%s",
+                                                       argv[1], argv[2]);
+       ctx->device->device->id = talloc_strdup(ctx->device->device, argv[2]);
 
-       iterate_parsers(ctx);
+       iterate_parsers(ctx, CONF_METHOD_LOCAL_FILE);
 
        pb_log("--- end ---\n");