cleaned up ipmi handling
diff --git a/bin/ipmi_example.py b/bin/ipmi_example.py
index a0c5a86..1d0061d 100644
--- a/bin/ipmi_example.py
+++ b/bin/ipmi_example.py
@@ -10,6 +10,20 @@
 
 import Openbmc
 
+DBUS_NAME = 'org.openbmc.sensors.IpmiBt'
+OBJ_NAME = '/org/openbmc/sensors/IpmiBt'
+
+class IpmiBt(dbus.service.Object):
+	def __init__(self,bus,name):
+		dbus.service.Object.__init__(self,bus,name)
+
+	@dbus.service.signal('org.openbmc.sensors.IpmiBt')
+	def SetSensor(self, ipmi_id, value):
+        	pass
+
+	@dbus.service.signal('org.openbmc.sensors.IpmiBt')
+	def UpdateFru(self, ipmi_id, data):
+        	pass
 
 
 def getWatchdog():
@@ -30,8 +44,15 @@
 		for k2 in data[k].keys():
 			print "\t"+k2+" = "+str(data[k][k2])
 
+
+
 if __name__ == '__main__':
+	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
  	bus = dbus.SessionBus()
+	name = dbus.service.BusName(DBUS_NAME,bus)
+	obj = IpmiBt(bus,OBJ_NAME)
+	mainloop = gobject.MainLoop()
+
 	cmd = sys.argv[1]
 	data = None
 	ipmi_id = dbus.Byte(0)
@@ -47,18 +68,14 @@
 		intf = getChassisControl()
 		intf.powerOff()
 	elif (cmd == "setsensor"):
-		intf_sens = Openbmc.getManagerInterface(bus,"Sensors")
-		intf_sens.setSensorFromId(ipmi_id,data)
-	elif (cmd == "getsensor"):
-		intf_sens = Openbmc.getManagerInterface(bus,"Sensors")
-		print intf_sens.getSensorFromId(ipmi_id)
+		obj.SetSensor(ipmi_id,dbus.Byte(int(data)))
 	elif (cmd == "getsensors"):
 		intf_sens = Openbmc.getManagerInterface(bus,"Sensors")
 		data = intf_sens.getSensors()
 		prettyPrint(data)
 	elif (cmd == "updatefru"):
-		intf_fru = Openbmc.getManagerInterface(bus,"Inventory")
-		intf_fru.updateFruFromId(ipmi_id,data)
+		d = { 'manufacturer' : data }	
+		obj.UpdateFru(ipmi_id,d)
 	elif (cmd == "getfrus"):
 		intf_fru = Openbmc.getManagerInterface(bus,"Inventory")
 		data = intf_fru.getFrus()