diff options
Diffstat (limited to 'src/hardware/LMI_ChassisProvider.c')
-rw-r--r-- | src/hardware/LMI_ChassisProvider.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/hardware/LMI_ChassisProvider.c b/src/hardware/LMI_ChassisProvider.c index 2ef7342..3214d58 100644 --- a/src/hardware/LMI_ChassisProvider.c +++ b/src/hardware/LMI_ChassisProvider.c @@ -59,7 +59,7 @@ static CMPIStatus LMI_ChassisEnumInstances( { LMI_Chassis lmi_chassis; const char *ns = KNameSpace(cop); - char instance_id[INSTANCE_ID_LEN]; + char instance_id[INSTANCE_ID_LEN], *tag; DmiChassis dmi_chassis; if (dmi_get_chassis(&dmi_chassis) != 0) { @@ -76,17 +76,13 @@ static CMPIStatus LMI_ChassisEnumInstances( LMI_Chassis_Set_Description(&lmi_chassis, "This object represents physical chassis of the system."); - if (strcmp(dmi_chassis.serial_number, "Not Specified") == 0) { - LMI_Chassis_Set_Tag(&lmi_chassis, "0"); - LMI_Chassis_Set_InstanceID(&lmi_chassis, - ORGID ":" ORGID "_" CHASSIS_CLASS_NAME ":0"); - } else { - LMI_Chassis_Set_Tag(&lmi_chassis, dmi_chassis.serial_number); - snprintf(instance_id, INSTANCE_ID_LEN, - ORGID ":" ORGID "_" CHASSIS_CLASS_NAME ":%s", - dmi_chassis.serial_number); - LMI_Chassis_Set_InstanceID(&lmi_chassis, instance_id); - } + tag = dmi_get_chassis_tag(&dmi_chassis); + snprintf(instance_id, INSTANCE_ID_LEN, + ORGID ":" ORGID "_" CHASSIS_CLASS_NAME ":%s", tag); + + LMI_Chassis_Set_Tag(&lmi_chassis, tag); + LMI_Chassis_Set_InstanceID(&lmi_chassis, instance_id); + if (strcmp(dmi_chassis.type, "Unknown") == 0 || strcmp(dmi_chassis.type, "Other") == 0) { LMI_Chassis_Set_Name(&lmi_chassis, "System Chassis"); @@ -102,6 +98,9 @@ static CMPIStatus LMI_ChassisEnumInstances( LMI_Chassis_Set_SKU(&lmi_chassis, dmi_chassis.sku_number); LMI_Chassis_Set_Version(&lmi_chassis, dmi_chassis.version); LMI_Chassis_Set_LockPresent(&lmi_chassis, dmi_chassis.has_lock); + LMI_Chassis_Set_Model(&lmi_chassis, dmi_chassis.model); + LMI_Chassis_Set_ProductName(&lmi_chassis, dmi_chassis.product_name); + LMI_Chassis_Set_UUID(&lmi_chassis, dmi_chassis.uuid); if (dmi_chassis.power_cords) { LMI_Chassis_Set_NumberOfPowerCords(&lmi_chassis, dmi_chassis.power_cords); |