tree 5e24de8f54aa36d935b354a599551548b6239e20
parent 3bb98f2901d4c5c473755a4cf1d211662bf707a0
author Matthew Barth <msbarth@us.ibm.com> 1537992375 -0500
committer Matthew Barth <msbarth@us.ibm.com> 1540304579 -0500

Get an inventory property's value

Adds support for inventory manager to retrieve a property's value that
it hosts as input to condition tests. Utilizing a provided sdbusplus
server binding member function to get a property from the inventory
hosted interface, a property can be read from that interface within
inventory manager. After the property is read, the condition test is
performed and the resulting action(s) occur.

The only currently supported condition test for using a property from
within inventory manager is the `propertyIs` condition.

This is an example of the expected generated source to get a property
from within inventory manager:

make_filter(functor::propertyIs(
    "/system/chassis",
    "xyz.openbmc_project.Inventory.Decorator.CoolingType",
    "WaterCooled",
    true,
    "xyz.openbmc_project.Inventory.Manager",
    make_get_property<sdbusplus::xyz::openbmc_project::Inventory::
                      Decorator::server::CoolingType::PropertiesVariant>
    (
        functor::getProperty<sdbusplus::xyz::openbmc_project::
            Inventory::Decorator::server::CoolingType>
        (
                "/system/chassis",
                "xyz.openbmc_project.Inventory.Decorator.CoolingType",
                &sdbusplus::xyz::openbmc_project::Inventory::
                    Decorator::server::CoolingType::getPropertyByName,
                "WaterCooled"
        )
    )
))

Tested:
    Manually edited generated code to use property within inventory
    and actions occurred when condition passed
    Manually edited generated code to use property within inventory
    and actions did not run when condition failed
    Actions not run when get property function omitted

Change-Id: I094bbacbcdeb239d33cac343b2daeb5f86e0a58a
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
