summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--obmc/dbuslib/bindings.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/obmc/dbuslib/bindings.py b/obmc/dbuslib/bindings.py
index 203b56f..d3fdbaf 100644
--- a/obmc/dbuslib/bindings.py
+++ b/obmc/dbuslib/bindings.py
@@ -31,6 +31,7 @@ def get_dbus():
class DbusProperties(dbus.service.Object):
def __init__(self, **kw):
+ self.validator = kw.pop('validator')
super(DbusProperties, self).__init__(**kw)
self.properties = {}
self._export = False
@@ -76,6 +77,10 @@ class DbusProperties(dbus.service.Object):
def Set(self, interface_name, property_name, new_value):
if (interface_name not in self.properties):
self.properties[interface_name] = {}
+
+ if self.validator:
+ self.validator(interface_name, property_name, new_value)
+
try:
old_value = self.properties[interface_name][property_name]
if (old_value != new_value):
OpenPOWER on IntegriCloud