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