]> git.ozlabs.org Git - petitboot/blobdiff - discover/user-event.c
discover/grub2: remove uuid log message
[petitboot] / discover / user-event.c
index afc4c437e8a7809f685a1a03a3e2bb5af31d6819..23842e1343315a0017df1513e7838d8463ca25fd 100644 (file)
@@ -42,22 +42,32 @@ struct user_event {
        int socket;
 };
 
+static const char *event_action_name(enum event_action action)
+{
+       switch (action) {
+       case EVENT_ACTION_ADD:
+               return "add";
+       case EVENT_ACTION_REMOVE:
+               return "remove";
+       case EVENT_ACTION_CONF:
+               return "conf";
+       default:
+               break;
+       }
+
+       return "unknown";
+}
+
 static void user_event_print_event(struct event __attribute__((unused)) *event)
 {
-       const char *action, *params[] = {
-               "name", "image", "args",
-               NULL,
-       };
        int i;
 
-       action = event->action == EVENT_ACTION_ADD ? "add" : "remove";
-
-       pb_log("user_event %s event:\n", action);
+       pb_log("user_event %s event:\n", event_action_name(event->action));
        pb_log("\tdevice: %s\n", event->device);
 
-       for (i = 0; params[i]; i++)
+       for (i = 0; i < event->n_params; i++)
                pb_log("\t%-12s => %s\n",
-                               params[i], event_get_param(event, params[i]));
+                       event->params[i].name, event->params[i].value);
 }
 
 static void user_event_handle_message(struct user_event *uev, char *buf,
@@ -118,7 +128,8 @@ static int user_event_destructor(void *arg)
        return 0;
 }
 
-struct user_event *user_event_init(struct device_handler *handler)
+struct user_event *user_event_init(struct waitset *waitset,
+               struct device_handler *handler)
 {
        struct sockaddr_un addr;
        struct user_event *uev;
@@ -147,7 +158,7 @@ struct user_event *user_event_init(struct device_handler *handler)
                        strerror(errno));
        }
 
-       waiter_register(uev->socket, WAIT_IN, user_event_process, uev);
+       waiter_register(waitset, uev->socket, WAIT_IN, user_event_process, uev);
 
        pb_log("%s: waiting on %s\n", __func__, PBOOT_USER_EVENT_SOCKET);