void device_handler_status(struct device_handler *handler,
struct status *status)
{
+ pb_debug("%s: %s\n", __func__, status->message);
discover_server_notify_boot_status(handler->server, status);
}
}
if (!update) {
- pb_log("%s: failed to allocate new status\n", __func__);
+ pb_log_fn("failed to allocate new status\n");
} else {
device_handler_status_info(handler, "%s\n", update);
talloc_free(update);
return 0;
}
+struct discover_boot_option *device_handler_find_option_by_name(
+ struct device_handler *handler, const char *device,
+ const char *name)
+{
+ size_t len = strlen(name);
+ unsigned int i;
+
+ for (i = 0; i < handler->n_devices; i++) {
+ struct discover_device *dev = handler->devices[i];
+ struct discover_boot_option *opt;
+
+ list_for_each_entry(&dev->boot_options, opt, list)
+ /* Match exactly, partial matches can be quite common */
+ if (strlen(opt->option->name) == len &&
+ !strcmp(opt->option->name, name))
+ if (!dev || !strcmp(opt->option->device_id, device))
+ return opt;
+ }
+
+ return NULL;
+}
+
static struct discover_boot_option *find_boot_option_by_id(
struct device_handler *handler, const char *id)
{
const char *mac;
if (result->status != LOAD_OK) {
- pb_log("%s: Load failed for %s\n", __func__, result->url->full);
+ pb_log_fn("Load failed for %s\n", result->url->full);
return;
}
struct device_handler *handler = process->data;
if (!handler) {
- pb_log("%s: Missing data!\n", __func__);
+ pb_log_fn("Missing data!\n");
return;
}
struct device_handler *handler __attribute__((unused)),
struct discover_context *ctx __attribute__((unused)))
{
- pb_log("%s stubbed out for test cases\n", __func__);
+ pb_log_fn("stubbed out for test cases\n");
}
static void device_handler_update_lang(const char *lang __attribute__((unused)))