intrusionsensor: Update object path
intrusionsensor is added to ObjectManager under the path
"/xyz/openbmc_project/sensors", but is registered under the object path
"/xyz/openbmc_project/Intrusion/Chassis_Intrusion". This makes it unable
to be found by other services via ObjectMapper's methods. Moreover,
intrusionsensor is not really a sensor in the dbus definitions (it does
not implement sensor interfaces), and the used interface is defined in
the Chassis folder in phosphor-dbus-interfaces. Therefore, this commit
adds it to ObjectManager under "/xyz/openbmc_project/Chassis", changes
the object path to "/xyz/openbmc_project/Chassis/Intrusion" in
dbus-sensors intrusionsensor.
Tested:
Object path for intrusionsensor can be received via GetSubTree:
$ busctl call -j xyz.openbmc_project.ObjectMapper \
/xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper \
GetSubTree sias /xyz/openbmc_project 0 1 \
xyz.openbmc_project.Chassis.Intrusion
"/xyz/openbmc_project/Chassis/Intrusion" : {
"xyz.openbmc_project.IntrusionSensor" : [
"xyz.openbmc_project.Chassis.Intrusion"
]
}
Signed-off-by: Chau Ly <chaul@amperecomputing.com>
Change-Id: Iaf0369a9ee4ddf626968b4961941ae7025c83952
diff --git a/src/IntrusionSensorMain.cpp b/src/IntrusionSensorMain.cpp
index a76457d..5b3cd84 100644
--- a/src/IntrusionSensorMain.cpp
+++ b/src/IntrusionSensorMain.cpp
@@ -425,12 +425,11 @@
sdbusplus::asio::object_server objServer(systemBus, true);
- objServer.add_manager("/xyz/openbmc_project/sensors");
+ objServer.add_manager("/xyz/openbmc_project/Chassis");
std::shared_ptr<sdbusplus::asio::dbus_interface> ifaceChassis =
- objServer.add_interface(
- "/xyz/openbmc_project/Intrusion/Chassis_Intrusion",
- "xyz.openbmc_project.Chassis.Intrusion");
+ objServer.add_interface("/xyz/openbmc_project/Chassis/Intrusion",
+ "xyz.openbmc_project.Chassis.Intrusion");
ChassisIntrusionSensor chassisIntrusionSensor(io, ifaceChassis);