Filter more precisely in dbusGPIOMatcher()

Previously we'd been matching only on the interface name.  It is
possible, however, that there might exist multiple providers of the same
interface while we only want to match on a specific object from one
provider.  Since we have the service name and object path available in
the config, let's add them to the match filter rule to specify only
exactly the signals we're interested in.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Change-Id: Ib29c5d021e519c3501b177f6e26eda664cc29964
diff --git a/src/power_control.cpp b/src/power_control.cpp
index 41e4c9a..1e1fb0a 100644
--- a/src/power_control.cpp
+++ b/src/power_control.cpp
@@ -2556,7 +2556,8 @@
         static_cast<sdbusplus::bus_t&>(*conn),
         "type='signal',interface='org.freedesktop.DBus.Properties',member='"
         "PropertiesChanged',arg0='" +
-            cfg.interface + "'",
+            cfg.interface + "',path='" + cfg.path + "',sender='" +
+            cfg.dbusName + "'",
         std::move(pulseEventMatcherCallback));
 }