From 84a9392791c574c56ca148157b8b951851208398 Mon Sep 17 00:00:00 2001 From: James Willcox Date: Thu, 17 Nov 2005 17:55:09 +0000 Subject: * Add RecordBrowser.cs * Make all of the events like "standard" .NET ones git-svn-id: file:///home/lennart/svn/public/avahi/trunk@996 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-sharp/ServiceBrowser.cs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'avahi-sharp/ServiceBrowser.cs') diff --git a/avahi-sharp/ServiceBrowser.cs b/avahi-sharp/ServiceBrowser.cs index a9c1726..639dd0a 100644 --- a/avahi-sharp/ServiceBrowser.cs +++ b/avahi-sharp/ServiceBrowser.cs @@ -47,7 +47,21 @@ namespace Avahi public static ServiceInfo Zero = new ServiceInfo (); } - public delegate void ServiceInfoHandler (object o, ServiceInfo info); + public class ServiceInfoArgs : EventArgs + { + private ServiceInfo service; + + public ServiceInfo Service { + get { return service; } + } + + public ServiceInfoArgs (ServiceInfo service) + { + this.service = service; + } + } + + public delegate void ServiceInfoHandler (object o, ServiceInfoArgs args); public class ServiceBrowser : BrowserBase, IDisposable { @@ -178,21 +192,19 @@ namespace Avahi info.Text = null; info.Flags = flags; - infos.Add (info); - switch (bevent) { case BrowserEvent.Added: infos.Add (info); foreach (ServiceInfoHandler handler in addListeners) - handler (this, info); + handler (this, new ServiceInfoArgs (info)); break; case BrowserEvent.Removed: infos.Remove (info); foreach (ServiceInfoHandler handler in removeListeners) - handler (this, info); + handler (this, new ServiceInfoArgs (info)); break; default: -- cgit