summaryrefslogtreecommitdiff
path: root/python/qpid/managementdata.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/qpid/managementdata.py')
-rw-r--r--python/qpid/managementdata.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/python/qpid/managementdata.py b/python/qpid/managementdata.py
index 1d99cc11bc..bdc299767d 100644
--- a/python/qpid/managementdata.py
+++ b/python/qpid/managementdata.py
@@ -160,11 +160,20 @@ class ManagementData:
finally:
self.lock.release ()
+ def closeHandler (self, reason):
+ print "Connection to broker lost:", reason
+ self.operational = False
+ if self.cli != None:
+ self.cli.setPromptMessage ("Broker Disconnected")
+
def schemaHandler (self, context, className, configs, insts, methods, events):
""" Callback for schema updates """
if className not in self.schema:
self.schema[className] = (configs, insts, methods, events)
+ def setCli (self, cliobj):
+ self.cli = cliobj
+
def __init__ (self, disp, host, username="guest", password="guest",
specfile="../../specs/amqp.0-10.xml"):
self.spec = qpid.spec.load (specfile)
@@ -184,9 +193,11 @@ class ManagementData:
self.conn.start ()
self.mclient = managementClient (self.spec, self.ctrlHandler, self.configHandler,
- self.instHandler, self.methodReply)
+ self.instHandler, self.methodReply, self.closeHandler)
self.mclient.schemaListener (self.schemaHandler)
self.mch = self.mclient.addChannel (self.conn.session(self.sessionId))
+ self.operational = True
+ self.cli = None
def close (self):
pass