tree bcfb1d93d72f52fab94ea447492c631dced47c03
parent 5cb3b1f361d347c7881d546241c4bb214d246da2
author Priyanga Ramasamy <priyanga24@in.ibm.com> 1643296361 -0600
committer Santosh Puranik <santosh.puranik@in.ibm.com> 1646631863 +0000

Populate unique PrettyName as an extra interface

In vpd json, PrettyName has been moved from common interfaces
to extra interfaces, as a part of hardcoding unique names to
the frus.
Due to which the vpd-parser is populating xyz.openbmc_project.
Inventory.Item interface properties in two places.
Present property in common interface && PrettyName property in
extra interface.

std::emplace doesn't allows duplicate key emplacement. This commit
has a helper function which emplaces values into an already existing
key.

This commit also emplaces Present property to true whenever the parser
parses the eeprom, irrespective of "inherit" property in json.

Test:
Tested on simics.

root@p10bmc:/tmp# rm -rf /var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/
root@p10bmc:/tmp#
root@p10bmc:/tmp# systemctl restart xyz.openbmc_project.Inventory.Manager.service
root@p10bmc:/tmp# ./ibm-read-vpd --file /sys/bus/i2c/drivers/at24/8-0051/eeprom

1. root@p10bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1
.....
....
xyz.openbmc_project.Inventory.Item                   interface -         -                            -
.Present                                             property  b         true                        emits-change writable
.PrettyName                                          property  s         "HMC Ethernet Connector"     emits-change writable

2. root@p10bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0
xyz.openbmc_project.Inventory.Item                    interface -         -                            -
.Present                                              property  b         true                         emits-change writable
.PrettyName                                           property  s         "HMC Ethernet Connector"     emits-change writable
xyz.openbmc_project.Inventory.Item.Connector          interface -         -                            -

3. root@p10bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0
xyz.openbmc_project.Inventory.Item                   interface -         -                            -
.Present                                             property  b         true                         emits-change writable
.PrettyName                                          property  s         "Display Port Connector"     emits-change writable
xyz.openbmc_project.Inventory.Item.Connector         interface -         -

Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I36c1e0bd3568c7fe26fa8592fb0268e091c41427
