Restart config server when connection settings change
[ipypbx] / src / ipypbx / http.py
index a7426a5..4de39d5 100644 (file)
@@ -35,10 +35,21 @@ class FreeswitchConfigServer(QtNetwork.QTcpServer):
     def setSocketData(self, host, port):
         """
         Set host and port for socket to listen on.
+
+        If the settings differ from previous values, server gets restarted.
         """
+        # Check if restart is needed before new settings are applied.
+        needs_restart = (host, port) != (self.host, self.port)
+
+        # Save new settings.
         self.host = host
         self.port = port
 
+        # Restart server if necessary.
+        if needs_restart:
+            print 'restartin', self.host, self.port
+            self.restartServer()
+
     def startServer(self):
         """
         Start listening on our socket.