Set one time properties for non primeable frus

This commit enables vpd-parser to populate one time properties
like "OperationalStatus" and "Enabled" for non primeable frus.

Tested on rainier:

cablecard/cxp_ports are non primeable frus.

Modified inventory json for this testing:
Since am not finding a system with ibm-cablecards, edited vpd_inventory.json
by including cablecard vpd's CCIN in cablecard ccin list to populate cxp_ports.

====> root@rain100bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top
NAME                                                 TYPE      SIGNATURE RESULT/VALUE                             FLAGS
com.ibm.ipzvpd.Location                              interface -         -                                        -
.LocationCode                                        property  s         "U78DA.ND0.WZS004A-P0-C10-T0"            emits-change writable
org.freedesktop.DBus.Introspectable                  interface -         -                                        -
.Introspect                                          method    -         s                                        -
org.freedesktop.DBus.Peer                            interface -         -                                        -
.GetMachineId                                        method    -         s                                        -
.Ping                                                method    -         -                                        -
org.freedesktop.DBus.Properties                      interface -         -                                        -
.Get                                                 method    ss        v                                        -
.GetAll                                              method    s         a{sv}                                    -
.Set                                                 method    ssv       -                                        -
.PropertiesChanged                                   signal    sa{sv}as  -                                        -
xyz.openbmc_project.Association.Definitions          interface -         -                                        -
.Associations                                        property  a(sss)    2 "fault_led_group" "fault_inventory_ob… emits-change writable
xyz.openbmc_project.Inventory.Decorator.LocationCode interface -         -                                        -
.LocationCode                                        property  s         "U78DA.ND0.WZS004A-P0-C10-T0"            emits-change writable
xyz.openbmc_project.Inventory.Item.Connector         interface -         -                                        -
root@rain100bmc:/tmp#

====> root@rain100bmc:/tmp# ./ibm-read-vpd --file /sys/bus/i2c/drivers/at24/11-0050/eeprom

====> root@rain100bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top
NAME                                                  TYPE      SIGNATURE RESULT/VALUE                             FLAGS
com.ibm.ipzvpd.Location                               interface -         -                                        -
.LocationCode                                         property  s         "U78DA.ND0.WZS004A-P0-C10-T0"            emits-change writable
org.freedesktop.DBus.Introspectable                   interface -         -                                        -
.Introspect                                           method    -         s                                        -
org.freedesktop.DBus.Peer                             interface -         -                                        -
.GetMachineId                                         method    -         s                                        -
.Ping                                                 method    -         -                                        -
org.freedesktop.DBus.Properties                       interface -         -                                        -
.Get                                                  method    ss        v                                        -
.GetAll                                               method    s         a{sv}                                    -
.Set                                                  method    ssv       -                                        -
.PropertiesChanged                                    signal    sa{sv}as  -                                        -
xyz.openbmc_project.Association.Definitions           interface -         -                                        -
.Associations                                         property  a(sss)    2 "fault_led_group" "fault_inventory_ob… emits-change writable
xyz.openbmc_project.Inventory.Decorator.LocationCode  interface -         -                                        -
.LocationCode                                         property  s         "U78DA.ND0.WZS004A-P0-C10-T0"            emits-change writable
xyz.openbmc_project.Inventory.Item.Connector          interface -         -                                        -
xyz.openbmc_project.Object.Enable                     interface -         -                                        -
.Enabled                                              property  b         false                                    emits-change writable
xyz.openbmc_project.State.Decorator.OperationalStatus interface -         -                                        -
.Functional                                           property  b         true                                     emits-change writable
root@rain100bmc:/tmp#

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I16e4af25f7427812054871e524e51829713c0012
diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
index 43d8280..1a9a7e4 100644
--- a/ibm_vpd_app.cpp
+++ b/ibm_vpd_app.cpp
@@ -1096,9 +1096,11 @@
             continue;
         }
 
-        if (isSystemVpd)
+        if ((isSystemVpd) || (item.value("noprime", false)))
         {
-            // Populate one time properties for the system VPD and its sub-frus.
+
+            // Populate one time properties for the system VPD and its sub-frus
+            // and for other non-primeable frus.
             // For the remaining FRUs, this will get handled as a part of
             // priming the inventory.
             setOneTimeProperties(objectPath, interfaces);