tree 6fdc59bbd4e022beeb43dc38822853cd88b22e83
parent d26e27748c2b614950d30ca85891de18c364da0a
author Matthew Barth <msbarth@us.ibm.com> 1521752586 -0500
committer Matt Spinler <spinler@us.ibm.com> 1523630021 +0000

Remove sensors for given return codes

A sensor defined to be removed for a given set of return codes is not
added or is removed from dbus when any of those return codes are
received while attempting to do a read.

Tested:
    Sensor is not created when return code received
    Sensor is removed when return code received

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