discovery.py
changeset 399 77e23bf04c33
parent 392 6617d3fb43e2
child 644 b511cab580eb
--- a/discovery.py	Mon Sep 21 12:12:08 2009 +0200
+++ b/discovery.py	Thu Sep 24 18:22:31 2009 +0200
@@ -21,10 +21,12 @@
 #License along with this library; if not, write to the Free Software
 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+import socket
 import wx
+import  wx.lib.mixins.listctrl  as  listmix
 from Zeroconf import *
-import socket
-import  wx.lib.mixins.listctrl  as  listmix
+
+import connectors
 
 class AutoWidthListCtrl(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
     def __init__(self, parent, id, name, pos=wx.DefaultPosition,
@@ -117,21 +119,26 @@
         self.nextItemId = 0
         
         self.URI = None
-        self.Browser = None
+        self.Browsers = []
         
         self.ZeroConfInstance = Zeroconf()
         self.RefreshList()
         
     def __del__(self):
-        self.Browser.cancel()
+        for browser in self.Browsers:
+            browser.cancel()
         self.ZeroConfInstance.close()
         
     def RefreshList(self):
-        self.Browser = ServiceBrowser(self.ZeroConfInstance, "_PYRO._tcp.local.", self)        
+        for browser in self.Browsers:
+            browser.cancel()
+        
+        self.Browsers = []
+        for t in connectors.dnssd_connectors.keys():
+            self.Browsers.append(ServiceBrowser(self.ZeroConfInstance, t, self))
 
     def OnRefreshButton(self, event):
         self.ServicesList.DeleteAllItems()
-        self.Browser.cancel()
         self.RefreshList()
 
     def OnLocalButton(self, event):