Queries for sofian.conf generator
[ipypbx] / src / ipypbx / controllers.py
index 2063db9..414eae0 100644 (file)
@@ -220,19 +220,32 @@ class ConnectionController(BaseController):
 
         for row in range(self.model.rowCount()):
             # Get local IP address and port from the table for each row.
-            server = http.FreeswitchConfigServer(self)
+            server = http.FreeswitchConfigServer(self.parent(), )
             server.setSocketData(*self.getSocketData(row))
             server.startServer()
             self.servers.append(server)
 
     def getSocketData(self, row):
-        local_ip_address = self.model.record(row).value(
-            'local_ip_address').toString()
-        local_port, _ok = self.model.record(row).value(
-            'local_port').toInt()
+        """
+        Return socket data for given row number.
+        """
+        record = self.model.record(row)
+        
+        # Local IP address.
+        local_ip_address = record.value('local_ip_address').toString()
+
+        # Local port.
+        local_port, _ok = record.value('local_port').toInt()
         if not _ok:
             local_port = None
-        return local_ip_address, local_port
+
+        # Connection ID.
+        connection_id, _ok = record.value('id').toInt()
+        if not _ok:
+            connection_id = None
+        
+        print local_ip_address, local_port, connection_id
+        return local_ip_address, local_port, connection_id
     
     def connectionChange(self, index):
         """
@@ -252,14 +265,14 @@ class ConnectionController(BaseController):
         """
         New connection added.
         """
-        self.addServer()
+        self.addServer(*self.getSocketData(row))
         
-    def addServer(self, host=None, port=None):
+    def addServer(self, host=None, port=None, connection_id=None):
         """
         Add a new config server.
         """
-        server = http.FreeswitchConfigServer(self)
-        server.setSocketData(host, port)
+        server = http.FreeswitchConfigServer(self.model)
+        server.setSocketData(host, port, connection_id)
         server.startServer()
         self.servers.append(server)