X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-sharp%2FServiceTypeBrowser.cs;h=754b9b151066e7769711583a7805e95b9949fd26;hb=57c2beeef0ae8e84dc790f023867da5dfc9aac7f;hp=4d996d6410811712860d1a79af9033afe7d6f9a5;hpb=cc272cf44768c9292879a9ee43783fec4b510ffd;p=catta diff --git a/avahi-sharp/ServiceTypeBrowser.cs b/avahi-sharp/ServiceTypeBrowser.cs index 4d996d6..754b9b1 100644 --- a/avahi-sharp/ServiceTypeBrowser.cs +++ b/avahi-sharp/ServiceTypeBrowser.cs @@ -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; } } }