support InterfaceAdded signal
diff --git a/bin/inventory_items.py b/bin/inventory_items.py
index 865a717..6320f90 100755
--- a/bin/inventory_items.py
+++ b/bin/inventory_items.py
@@ -18,28 +18,15 @@
INTF_NAME = 'org.openbmc.InventoryItem'
-DBUS_NAME = 'org.openbmc.managers.Inventory'
-ENUM_INTF = 'org.openbmc.Object.Enumerate'
-
+DBUS_NAME = 'org.openbmc.Inventory'
FRUS = System.FRU_INSTANCES
-class Inventory(Openbmc.DbusProperties):
+class Inventory(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
def __init__(self,bus,name):
+ Openbmc.DbusProperties.__init__(self)
+ Openbmc.DbusObjectManager.__init__(self)
dbus.service.Object.__init__(self,bus,name)
- self.objects = [ ]
- self.ObjectAdded(name,ENUM_INTF)
-
- def addItem(self,item):
- self.objects.append(item)
-
- @dbus.service.method(ENUM_INTF,
- in_signature='', out_signature='a{sa{sv}}')
- def enumerate(self):
- tmp_obj = {}
- for item in self.objects:
- tmp_obj[str(item.name)]=item.GetAll(INTF_NAME)
- return tmp_obj
-
+ self.InterfacesAdded(name,self.properties)
class InventoryItem(Openbmc.DbusProperties):
@@ -59,7 +46,6 @@
data['version'] = ''
self.SetMultiple(INTF_NAME,data)
- self.ObjectAdded(name,INTF_NAME)
@dbus.service.method(INTF_NAME,
@@ -98,10 +84,9 @@
obj_parent = Inventory(bus, '/org/openbmc/inventory')
for f in FRUS.keys():
- print f
obj_path=f.replace("<inventory_root>",System.INVENTORY_ROOT)
obj = InventoryItem(bus,obj_path,FRUS[f])
- obj_parent.addItem(obj)
+ obj_parent.add(obj_path,obj)
## TODO: this is a hack to update bmc inventory item with version
## should be done by flash object