]> git.meshlink.io Git - catta/blobdiff - avahi-sharp/ServiceTypeBrowser.cs
add base class for resolvers, and add some missing events there
[catta] / avahi-sharp / ServiceTypeBrowser.cs
index 4d996d6410811712860d1a79af9033afe7d6f9a5..754b9b151066e7769711583a7805e95b9949fd26 100644 (file)
@@ -40,7 +40,7 @@ namespace Avahi
 
     public delegate void ServiceTypeInfoHandler (object o, ServiceTypeInfo info);
     
-    public class ServiceTypeBrowser : IDisposable
+    public class ServiceTypeBrowser : BrowserBase, IDisposable
     {
         private IntPtr handle;
         private ArrayList infos = new ArrayList ();
@@ -160,17 +160,23 @@ namespace Avahi
             info.Flags = flags;
 
             infos.Add (info);
-            
-            if (bevent == BrowserEvent.Added) {
+
+            switch (bevent) {
+            case BrowserEvent.Added:
                 infos.Add (info);
 
                 foreach (ServiceTypeInfoHandler handler in addListeners)
                     handler (this, info);
-            } else {
+                break;
+            case BrowserEvent.Removed:
                 infos.Remove (info);
 
                 foreach (ServiceTypeInfoHandler handler in removeListeners)
                     handler (this, info);
+                break;
+            default:
+                EmitBrowserEvent (bevent);
+                break;
             }
         }
     }