made pflash call async
diff --git a/bin/flash_manager.py b/bin/flash_manager.py
index 9a0f450..980341b 100644
--- a/bin/flash_manager.py
+++ b/bin/flash_manager.py
@@ -10,14 +10,14 @@
 
 
 DBUS_NAME = 'org.openbmc.managers.Flash'
-OBJ_NAME = '/org/openbmc/managers/'+sys.argv[1]
+OBJ_NAME = '/org/openbmc/managers/Flash'
 TFTP_PORT = 69
 DOWNLOAD_DIR = '/tmp'
 
 class FlashManagerObject(dbus.service.Object):
 	def __init__(self,bus,name):
 		self.dbus_objects = { }
-
+		self.status = { 'bios' : 'OK', 'bmc' : 'OK' }
 		dbus.service.Object.__init__(self,bus,name)
 		## load utilized objects
 		self.dbus_objects = {
@@ -33,6 +33,15 @@
 			}
 		}
 		bus = dbus.SessionBus()
+		bus.add_signal_receiver(self.UpdatedHandler, 
+			dbus_interface = "org.openbmc.Flash", signal_name = "Updated", path_keyword='path')
+
+
+	def UpdatedHandler(self,path = None):
+		print "Flash update finish: "+path
+		for flash in self.dbus_objects:
+			if (path == self.dbus_objects[flash]['object_name']):
+				self.status[flash] = 'OK'		
 
 	def getInterface(self,name):
 		o = self.dbus_objects[name]
@@ -40,20 +49,31 @@
 		return dbus.Interface(obj,o['interface_name'])
 
 	@dbus.service.method(DBUS_NAME,
+		in_signature='', out_signature='a{ss}')
+	def getStatus(self):
+		return self.status
+
+	@dbus.service.method(DBUS_NAME,
 		in_signature='sss', out_signature='')
 	def updateFromTftp(self,flash,url,filename):
 		if (self.dbus_objects.has_key(flash) == False):
-			print "Error: Not a valid flash device: "+flash	
+			print "ERROR FlashManager: Not a valid flash device: "+flash	
 			return
 		try:
+			## need to make download async
+			self.status[flash]="DOWNLOADING"
+			filename = str(filename)
 			client = tftpy.TftpClient(url, TFTP_PORT)
+			print "Downloading: "+filename+" from "+url
 			outfile = DOWNLOAD_DIR+"/"+filename
-			client.download(filename,outfile)		
+			client.download(filename,outfile)
 			intf = self.getInterface(flash)
+			self.status[flash]="FLASHING"
 			intf.update(outfile)
 					
 		except Exception as e:
-			print "ERROR: "+str(e)
+			print "ERROR FlashManager: "+str(e)
+			self.status="ERROR"