* sdbusplus: 'set' support
@ 2020-06-18 10:59 Patrick Williams
0 siblings, 0 replies; only message in thread
From: Patrick Williams @ 2020-06-18 10:59 UTC (permalink / raw)
To: OpenBMC List
[-- Attachment #1: Type: text/plain, Size: 3490 bytes --]
Hello,
I just merged a commit which adds 'set' as an acceptable type for the
dbus interface YAML. This will correspond to 'std::set'[1] but will be
sent along dbus as a dbus-array[2]. Thus, filtering of uniqueness will
only happen as a result of the underlying C++ type being a set.
I suspect there are items in our phosphor-dbus-interface that are
currently represented using an 'array' that would more appropriate
communicate intent as a 'set'. I've attempted to search for them below.
It would be helpful if domain experts could review the list and
determine if any of them should be changed toward 'set'.
```
$ git grep "type: array" | grep -v "\[byte" | grep -v "\[u*int"
com/ibm/VPD/Manager.interface.yaml: type: array[path]
com/ibm/VPD/Manager.interface.yaml: type: array[path]
xyz/openbmc_project/Association.interface.yaml: type: array[path]
xyz/openbmc_project/Certs/CSR/Create.interface.yaml: type: array[string]
xyz/openbmc_project/Certs/CSR/Create.interface.yaml: type: array[string]
xyz/openbmc_project/Certs/Certificate.interface.yaml: type: array[string]
xyz/openbmc_project/Control/FanRedundancy.interface.yaml: type: array[path]
xyz/openbmc_project/Control/ThermalMode.interface.yaml: type: array[string]
xyz/openbmc_project/Inventory/Decorator/Compatible.interface.yaml: type: array[string]
xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml: type: array[string]
xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml: type: array[string]
xyz/openbmc_project/Inventory/Item/Dimm/SecurityCapabilities.interface.yaml: type: array[string]
xyz/openbmc_project/Logging/Create.interface.yaml: type: array[struct[enum[self.FFDCFormat], byte, byte, unixfd]]
xyz/openbmc_project/Logging/Entry.interface.yaml: type: array[string]
xyz/openbmc_project/Logging/Event.interface.yaml: type: array[string]
xyz/openbmc_project/Network/EthernetInterface.interface.yaml: type: array[string]
xyz/openbmc_project/Network/EthernetInterface.interface.yaml: type: array[string]
xyz/openbmc_project/Network/EthernetInterface.interface.yaml: type: array[string]
xyz/openbmc_project/Network/EthernetInterface.interface.yaml: type: array[string]
xyz/openbmc_project/Network/Experimental/Bond.interface.yaml: type: array[string]
xyz/openbmc_project/ObjectMapper.interface.yaml: type: array[string]
xyz/openbmc_project/ObjectMapper.interface.yaml: type: array[string]
xyz/openbmc_project/ObjectMapper.interface.yaml: type: array[string]
xyz/openbmc_project/ObjectMapper.interface.yaml: type: array[path]
xyz/openbmc_project/User/Attributes.interface.yaml: type: array[string]
xyz/openbmc_project/User/Manager.interface.yaml: type: array[string]
xyz/openbmc_project/User/Manager.interface.yaml: type: array[string]
xyz/openbmc_project/User/Manager.interface.yaml: type: array[string]
```
1. If you are curious why this does not correspond to
'std::unordered_set', see the commit message at
https://github.com/openbmc/sdbusplus/commit/b98bdc6fafa9d60596cd06ff708ef3baeeb3c959
2. There was existing code in sdbusplus that turned 'std::set' into a
dbus-array, so if you are making direct 'sdbusplus::message' calls
you could have already done this. What I've done here is add support
to the sdbus++ binding generator.
--
Patrick Williams
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-06-18 10:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-18 10:59 sdbusplus: 'set' support Patrick Williams
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.