aboutsummaryrefslogtreecommitdiffstats
path: root/tools/python/xen/xend/server/SrvConsole.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/python/xen/xend/server/SrvConsole.py')
-rw-r--r--tools/python/xen/xend/server/SrvConsole.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/python/xen/xend/server/SrvConsole.py b/tools/python/xen/xend/server/SrvConsole.py
new file mode 100644
index 0000000000..59d0e5f11c
--- /dev/null
+++ b/tools/python/xen/xend/server/SrvConsole.py
@@ -0,0 +1,42 @@
+# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+
+from xen.xend import sxp
+from xen.xend import XendConsole
+from SrvDir import SrvDir
+
+class SrvConsole(SrvDir):
+ """An individual console.
+ """
+
+ def __init__(self, info):
+ SrvDir.__init__(self)
+ self.info = info
+ self.xc = XendConsole.instance()
+
+ def op_disconnect(self, op, req):
+ val = self.xc.console_disconnect(self.info.id)
+ return val
+
+ def render_POST(self, req):
+ return self.perform(req)
+
+ def render_GET(self, req):
+ if self.use_sxp(req):
+ req.setHeader("Content-Type", sxp.mime_type)
+ sxp.show(self.info.sxpr(), out=req)
+ else:
+ req.write('<html><head></head><body>')
+ self.print_path(req)
+ #self.ls()
+ req.write('<p>%s</p>' % self.info)
+ req.write('<p><a href="%s">Connect to domain %d</a></p>'
+ % (self.info.uri(), self.info.dom2))
+ self.form(req)
+ req.write('</body></html>')
+ return ''
+
+ def form(self, req):
+ req.write('<form method="post" action="%s">' % req.prePathURL())
+ if self.info.connection():
+ req.write('<input type="submit" name="op" value="disconnect">')
+ req.write('</form>')