From a4c2edcece605452c4d72da36b8c39da5e514314 Mon Sep 17 00:00:00 2001 From: James Willcox Date: Mon, 26 Sep 2005 03:57:30 +0000 Subject: add some missing events to the resolver classes, and make them inherit from a base class which contains these events git-svn-id: file:///home/lennart/svn/public/avahi/trunk@635 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-sharp/ServiceBrowser.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'avahi-sharp/ServiceBrowser.cs') diff --git a/avahi-sharp/ServiceBrowser.cs b/avahi-sharp/ServiceBrowser.cs index 92b8011..a9c1726 100644 --- a/avahi-sharp/ServiceBrowser.cs +++ b/avahi-sharp/ServiceBrowser.cs @@ -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; } } } -- cgit