discover: Display devices currently being parsed
authorSamuel Mendoza-Jonas <sam.mj@au1.ibm.com>
Thu, 30 Apr 2015 04:38:43 +0000 (14:38 +1000)
committerSamuel Mendoza-Jonas <sam.mj@au1.ibm.com>
Tue, 5 May 2015 05:34:42 +0000 (15:34 +1000)
Send a short message to the UI to inform the user a device is being
parsed for boot options. This helps slightly in environments when the UI
appears well before devices are available for parsing, giving the user
an indication that work is still being done.

Signed-off-by: Samuel Mendoza-Jonas <sam.mj@au1.ibm.com>
discover/device-handler.c

index 487f2e73506221a316cd8e3b72928cccc733b167..d95a37cb0c7c41ae420001d4c227cfa012c33b2f 100644 (file)
@@ -755,8 +755,16 @@ int device_handler_discover(struct device_handler *handler,
                struct discover_device *dev)
 {
        struct discover_context *ctx;
                struct discover_device *dev)
 {
        struct discover_context *ctx;
+       struct boot_status *status;
        int rc;
 
        int rc;
 
+       status = talloc_zero(handler, struct boot_status);
+       status->type = BOOT_STATUS_INFO;
+       status->message = talloc_asprintf(status, "Processing %s device %s",
+                               device_type_display_name(dev->device->type),
+                               dev->device->id);
+       boot_status(handler, status);
+
        process_boot_option_queue(handler);
 
        /* create our context */
        process_boot_option_queue(handler);
 
        /* create our context */
@@ -777,6 +785,11 @@ int device_handler_discover(struct device_handler *handler,
        device_handler_discover_context_commit(handler, ctx);
 
 out:
        device_handler_discover_context_commit(handler, ctx);
 
 out:
+       status->message = talloc_asprintf(status,"Processing %s complete\n",
+                               dev->device->id);
+       boot_status(handler, status);
+
+       talloc_free(status);
        talloc_free(ctx);
 
        return 0;
        talloc_free(ctx);
 
        return 0;
@@ -787,6 +800,13 @@ int device_handler_dhcp(struct device_handler *handler,
                struct discover_device *dev, struct event *event)
 {
        struct discover_context *ctx;
                struct discover_device *dev, struct event *event)
 {
        struct discover_context *ctx;
+       struct boot_status *status;
+
+       status = talloc_zero(handler, struct boot_status);
+       status->type = BOOT_STATUS_INFO;
+       status->message = talloc_asprintf(status, "Processing dhcp event on %s",
+                               dev->device->id);
+       boot_status(handler, status);
 
        /* create our context */
        ctx = device_handler_discover_context_create(handler, dev);
 
        /* create our context */
        ctx = device_handler_discover_context_create(handler, dev);
@@ -796,6 +816,11 @@ int device_handler_dhcp(struct device_handler *handler,
 
        device_handler_discover_context_commit(handler, ctx);
 
 
        device_handler_discover_context_commit(handler, ctx);
 
+       status->message = talloc_asprintf(status,"Processing %s complete\n",
+                               dev->device->id);
+       boot_status(handler, status);
+
+       talloc_free(status);
        talloc_free(ctx);
 
        return 0;
        talloc_free(ctx);
 
        return 0;
@@ -806,6 +831,12 @@ int device_handler_conf(struct device_handler *handler,
                struct discover_device *dev, struct pb_url *url)
 {
         struct discover_context *ctx;
                struct discover_device *dev, struct pb_url *url)
 {
         struct discover_context *ctx;
+       struct boot_status *status;
+
+       status = talloc_zero(handler, struct boot_status);
+       status->type = BOOT_STATUS_INFO;
+       status->message = talloc_asprintf(status, "Processing user config");
+       boot_status(handler, status);
 
         /* create our context */
         ctx = device_handler_discover_context_create(handler, dev);
 
         /* create our context */
         ctx = device_handler_discover_context_create(handler, dev);
@@ -815,6 +846,11 @@ int device_handler_conf(struct device_handler *handler,
 
         device_handler_discover_context_commit(handler, ctx);
 
 
         device_handler_discover_context_commit(handler, ctx);
 
+       status->message = talloc_asprintf(status,
+                               "Processing user config complete");
+       boot_status(handler, status);
+
+       talloc_free(status);
         talloc_free(ctx);
 
         return 0;
         talloc_free(ctx);
 
         return 0;