aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/server/xmlrpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/server/xmlrpc.py')
-rw-r--r--bitbake/lib/bb/server/xmlrpc.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index cb2949fb9f..30b83d2b13 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -87,7 +87,7 @@ class BitBakeServer(SimpleXMLRPCServer):
# remove this when you're done with debugging
# allow_reuse_address = True
- def __init__(self, cooker, interface = ("localhost", 0)):
+ def __init__(self, cooker, pre_serve, post_serve, interface = ("localhost", 0)):
"""
Constructor
"""
@@ -99,6 +99,9 @@ class BitBakeServer(SimpleXMLRPCServer):
#self.register_introspection_functions()
commands = BitBakeServerCommands(self, cooker)
self.autoregister_all_functions(commands, "")
+ self.cooker = cooker
+ self.pre_serve = pre_serve
+ self.post_serve = post_serve
def autoregister_all_functions(self, context, prefix):
"""
@@ -116,9 +119,14 @@ class BitBakeServer(SimpleXMLRPCServer):
self._idlefuns[function] = data
def serve_forever(self):
+ bb.cooker.server_main(self.cooker, self._serve_forever)
+
+ def _serve_forever(self):
"""
Serve Requests. Overloaded to honor a quit command
"""
+ self.pre_serve()
+
self.quit = False
self.timeout = 0 # Run Idle calls for our first callback
while not self.quit:
@@ -155,6 +163,7 @@ class BitBakeServer(SimpleXMLRPCServer):
except:
pass
+ self.post_serve()
self.server_close()
return
@@ -164,8 +173,12 @@ class BitbakeServerInfo():
self.port = server.port
class BitBakeServerFork():
- def __init__(self, serverinfo, command, logfile):
- daemonize.createDaemon(command, logfile)
+ def __init__(self, cooker, server, serverinfo, logfile):
+ daemonize.createDaemon(server.serve_forever, logfile)
+
+class BitbakeUILauch():
+ def launch(self, serverinfo, uifunc, *args):
+ return uifunc(*args)
class BitBakeServerConnection():
def __init__(self, serverinfo):