verify the image purpose with updater type

Verify the image purpose with updater type to make sure the correct
image is targeted for a given updater type.

Tested:
```
> curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T bios_image.tar https://${bmc}/redfish/v1/UpdateService/update
{
  "@odata.id": "/redfish/v1/TaskService/Tasks/0",
  "@odata.type": "#Task.v1_4_3.Task",
  "Id": "0",
  "TaskState": "Running",
  "TaskStatus": "OK"
}

Nov 05 01:51:54 romulus phosphor-software-manager[582]: Purpose (xyz.openbmc_project.Software.Version.VersionPurpose.Host) is not supported
Nov 05 01:51:54 romulus phosphor-software-manager[582]: An error occurred processing the image.

curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/TaskService/Tasks/0
{
  "@odata.id": "/redfish/v1/TaskService/Tasks/0",
  "@odata.type": "#Task.v1_4_3.Task",
  "EndTime": "2024-11-05T01:51:54+00:00",
  "HidePayload": false,
  "Id": "0",
  "Messages": [
    {
      "@odata.type": "#Message.v1_1_1.Message",
      "Message": "The task with Id '0' has started.",
      "MessageArgs": [
        "0"
      ],
      "MessageId": "TaskEvent.1.0.3.TaskStarted",
      "MessageSeverity": "OK",
      "Resolution": "None."
    },
    {
      "@odata.type": "#Message.v1_1_1.Message",
      "Message": "The task with Id '0' has completed with errors.",
      "MessageArgs": [
        "0"
      ],
      "MessageId": "TaskEvent.1.0.3.TaskAborted",
      "MessageSeverity": "Critical",
      "Resolution": "None."
    }
  ],
  "Name": "Task 0",
  "Payload": {
    "HttpHeaders": [],
    "HttpOperation": "POST",
    "JsonBody": "null",
    "TargetUri": "/redfish/v1/UpdateService/update"
  },
  "PercentComplete": 0,
  "StartTime": "2024-11-05T01:51:25+00:00",
  "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0",
  "TaskState": "Exception",
  "TaskStatus": "Warning"
}
```

Change-Id: I9eada7cc929a5518b44f28249a1cf8c5a55a5384
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/item_updater.hpp b/item_updater.hpp
index fac41f3..6274abe 100644
--- a/item_updater.hpp
+++ b/item_updater.hpp
@@ -91,7 +91,7 @@
                 bool useUpdateDBusInterface = true) :
         ItemUpdaterInherit(ctx.get_bus(), path.c_str(),
                            ItemUpdaterInherit::action::defer_emit),
-        useUpdateDBusInterface(useUpdateDBusInterface), ctx(ctx),
+        type(type), useUpdateDBusInterface(useUpdateDBusInterface), ctx(ctx),
         bus(ctx.get_bus()), helper(bus)
     {
         if (!useUpdateDBusInterface)
@@ -273,6 +273,9 @@
     /** @brief The slot of running BMC image */
     uint32_t runningImageSlot = 0;
 
+    /** @brief The type of updater. */
+    UpdaterType type;
+
     /** @brief Flag to indicate if the update interface is used or not */
     bool useUpdateDBusInterface;