Using readPath dbuspath in getMatch function
- If the "name" setting is not same as dbus sensor name,
it has problem when getMatch function.
For example:
if json setting like below,
{
"name": "fan00",
"type": "fan",
"readPath": "/xyz/openbmc_project/sensors/fan_tach/fan0_tach",
"writePath": "/xyz/openbmc_project/sensors/fan_tach/fan0_pwm",
"min": 0,
"max": 255
}
the swampd will start failed, log like below,
swampd[17273]: Sensor: fan00 fan /xyz/openbmc_project/sensors/fan_tach/fan0_tach /xyz/openbmc_project/sensors/fan_tach/fan0_pwm
swampd[17273]: ObjectMapper call failure
Signed-off-by: Harvey.Wu <Harvey.Wu@quantatw.com>
Change-Id: I08cd374ea7447148e4aeff7b06b288957260cbd2
diff --git a/dbus/dbusutil.cpp b/dbus/dbusutil.cpp
index 9132a60..a1f0a95 100644
--- a/dbus/dbusutil.cpp
+++ b/dbus/dbusutil.cpp
@@ -111,13 +111,13 @@
return std::string("/xyz/openbmc_project/sensors/" + layer + "/" + id);
}
-std::string getMatch(const std::string& type, const std::string& id)
+std::string getMatch(const std::string& path)
{
return std::string("type='signal',"
"interface='org.freedesktop.DBus.Properties',"
"member='PropertiesChanged',"
"path='" +
- getSensorPath(type, id) + "'");
+ path + "'");
}
bool validType(const std::string& type)