match: Add additional convenience match rules
Add interfaces removed.
Add properties changed.
Add versions of above that take a path argument.
Change-Id: I918365a25ca9a9b30c5087de08b4c90e2f15eca3
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/sdbusplus/bus/match.hpp b/sdbusplus/bus/match.hpp
index dc84723..2e7e114 100644
--- a/sdbusplus/bus/match.hpp
+++ b/sdbusplus/bus/match.hpp
@@ -139,6 +139,32 @@
"member='InterfacesAdded',"s;
}
+inline auto interfacesRemoved()
+{
+ return "type='signal',"
+ "interface='org.freedesktop.DBus.ObjectManager',"
+ "member='InterfacesRemoved',"s;
+}
+
+inline auto interfacesAdded(const std::string& p)
+{
+ return interfacesAdded() + path(p);
+}
+
+inline auto interfacesRemoved(const std::string& p)
+{
+ return interfacesRemoved() + path(p);
+}
+
+inline auto propertiesChanged(const std::string& p, const std::string& i)
+{
+ return type::signal() +
+ path(p) +
+ member("PropertiesChanged"s) +
+ interface("org.freedesktop.DBus.Properties"s) +
+ argN(0, i);
+}
+
} // namespace rules
} // namespace match