]> git.meshlink.io Git - catta/blobdiff - avahi-sharp/ServiceBrowser.cs
* correct the error handling in EntryGroup
[catta] / avahi-sharp / ServiceBrowser.cs
index 92b8011c92b128625f05a24e4a1b19f6aba13e8f..a9c1726c20fa6565f343a38c0c70e51d1d41912b 100644 (file)
@@ -49,7 +49,7 @@ namespace Avahi
 
     public delegate void ServiceInfoHandler (object o, ServiceInfo info);
     
-    public class ServiceBrowser : IDisposable
+    public class ServiceBrowser : BrowserBase, IDisposable
     {
         private IntPtr handle;
         private ArrayList infos = new ArrayList ();
@@ -179,17 +179,25 @@ namespace Avahi
             info.Flags = flags;
 
             infos.Add (info);
-            
-            if (bevent == BrowserEvent.Added) {
+
+            switch (bevent) {
+            case BrowserEvent.Added:
                 infos.Add (info);
 
                 foreach (ServiceInfoHandler handler in addListeners)
                     handler (this, info);
-            } else {
+
+                break;
+            case BrowserEvent.Removed:
                 infos.Remove (info);
 
                 foreach (ServiceInfoHandler handler in removeListeners)
                     handler (this, info);
+
+                break;
+            default:
+                EmitBrowserEvent (bevent);
+                break;
             }
         }
     }