diff --git a/bitbake/lib/bb/server/__init__.py b/bitbake/lib/bb/server/__init__.pyindex e69de29..dcbae62 100644--- a/bitbake/lib/bb/server/__init__.py+++ b/bitbake/lib/bb/server/__init__.py@@ -0,0 +1,95 @@+#+# BitBake Base Server Code+#+# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer+# Copyright (C) 2006 - 2008 Richard Purdie+# Copyright (C) 2013 Alexandru Damian+#+# This program is free software; you can redistribute it and/or modify+# it under the terms of the GNU General Public License version 2 as+# published by the Free Software Foundation.+#+# This program is distributed in the hope that it will be useful,+# but WITHOUT ANY WARRANTY; without even the implied warranty of+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the+# GNU General Public License for more details.+#+# You should have received a copy of the GNU General Public License along+# with this program; if not, write to the Free Software Foundation, Inc.,+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.++""" Base code for Bitbake server process++Have a common base for that all Bitbake server classes ensures a consistent+approach to the interface, and minimize risks associated with code duplication.++"""++""" BaseImplServer() the base class for all XXServer() implementations.++ These classes contain the actual code that runs the server side, i.e.+ listens for the commands and executes them. Although these implementations+ contain all the data of the original bitbake command, i.e the cooker instance,+ they may well run on a different process or even machine.++"""++class BaseImplServer():+ def __init__(self):+ self._idlefuns = {}++ def addcooker(self, cooker):+ self.cooker = cooker++ def register_idle_function(self, function, data):+ """Register a function to be called while the server is idle"""+ assert hasattr(function, '__call__')+ self._idlefuns[function] = data++++""" BitBakeBaseServerConnection class is the common ancestor to all+ BitBakeServerConnection classes.++ These classes control the remote server. The only command currently+ implemented is the terminate() command.++"""++class BitBakeBaseServerConnection():+ def __init__(self, serverImpl):+ pass++ def terminate(self):+ pass+++""" BitBakeBaseServer class is the common ancestor to all Bitbake servers++ Derive this class in order to implement a BitBakeServer which is the+ controlling stub for the actual server implementation++"""+class BitBakeBaseServer(object):+ def initServer(self):+ self.serverImpl = None # we ensure a runtime crash if not overloaded+ return++ def addcooker(self, cooker):+ self.cooker = cooker+ self.serverImpl.addcooker(cooker)++ def getServerIdleCB(self):+ return self.serverImpl.register_idle_function++ def saveConnectionDetails(self):+ return++ def detach(self):+ return++ def establishConnection(self):+ raise "Must redefine the %s.establishConnection()" % self.__class__.__name__++ def launchUI(self, uifunc, *args):+ raise "Must redefine the %s.launchUI()" % self.__class__.__name__