def main(self):
        self.setupWindowManager = SetupWindowManager(self)
        healthChecker = HealthChecker()

        self.netcatServer = NetcatServer(self.setupWindowManager)
        self.netcatServer.initServer()
        self.netcatServer.setHealthChecker(healthChecker)

        EnvironmentLoader.setup(self.netcatServer)

        self.process = BashProcess(["bash", __scriptToWrap__])
        self.process.setHealthChecker(healthChecker)
        self.process.start()

        healthChecker.wait()
        self.netcatServer.closeServer()
class PlayOnLinuxBashInterpreter(Installer):
    title = "PlayOnLinux bash interpreter"  # FIXME

    def main(self):
        self.setupWindowManager = SetupWindowManager(self)
        healthChecker = HealthChecker()

        self.netcatServer = NetcatServer(self.setupWindowManager)
        self.netcatServer.initServer()
        self.netcatServer.setHealthChecker(healthChecker)

        EnvironmentLoader.setup(self.netcatServer)

        self.process = BashProcess(["bash", __scriptToWrap__])
        self.process.setHealthChecker(healthChecker)
        self.process.start()

        healthChecker.wait()
        self.netcatServer.closeServer()

    def rollback(self):
        try:
            try:
                self.process.stop()
            except AttributeError:
                pass

            try:
                self.netcatServer.closeServer()
            except AttributeError:
                pass
        finally:
            self.setupWindowManager.closeAll()
class PlayOnLinuxBashInterpreter(Installer):
    title = "PlayOnLinux bash interpreter"  # FIXME

    def main(self):
        self.setupWindowManager = SetupWindowManager(self)
        healthChecker = HealthChecker()

        self.netcatServer = NetcatServer(self.setupWindowManager)
        self.netcatServer.initServer()
        self.netcatServer.setHealthChecker(healthChecker)

        EnvironmentLoader.setup(self.netcatServer)

        self.process = BashProcess(["bash", __scriptToWrap__])
        self.process.setHealthChecker(healthChecker)
        self.process.start()

        healthChecker.wait()
        self.netcatServer.closeServer()

    def rollback(self):
        try:
            try:
                self.process.stop()
            except AttributeError:
                pass

            try:
                self.netcatServer.closeServer()
            except AttributeError:
                pass
        finally:
            self.setupWindowManager.closeAll()
    def main(self):
        self.setupWindowManager = SetupWindowManager(self)
        healthChecker = HealthChecker()

        self.netcatServer = NetcatServer(self.setupWindowManager)
        self.netcatServer.initServer()
        self.netcatServer.setHealthChecker(healthChecker)

        EnvironmentLoader.setup(self.netcatServer)

        self.process = BashProcess(["bash", __scriptToWrap__])
        self.process.setHealthChecker(healthChecker)
        self.process.start()

        healthChecker.wait()
        self.netcatServer.closeServer()