DbusVariant insufficient for complex tree entries

Patrick Venture venture at google.com
Fri Oct 18 05:30:41 AEDT 2019


James;

I wanted to validate the problem I'm hitting reading the Association
vector<tuple<s,s,s,>>:

using SensorMap = std::map<std::string, std::map<std::string, DbusVariant>>;

I'm using the SensorMap to read out the Association interface:
 sensorMap.find("xyz.openbmc_project.Association.Definitions");

This is fine, as it holds a map<string, DbusVariant> --> except, it
doesn't, because DbusVariant only holds the basic dbus types.  I was
curious if there was a way you recommended to deal with this?

I could individually request that interface against the path and
connection, introspect, and then use my own receiving structure - but
it seems a waste to double-grab it.

I could add the complex type array(tuple<s,s,s,>) to DbusVariant to
allow for this, but -- that seems a bit ugly.

Any suggestions?

Thanks,
Patrick


More information about the openbmc mailing list