diff options
Diffstat (limited to 'avahi-sharp/DomainBrowser.cs')
-rw-r--r-- | avahi-sharp/DomainBrowser.cs | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/avahi-sharp/DomainBrowser.cs b/avahi-sharp/DomainBrowser.cs index 08f2b35..50ac757 100644 --- a/avahi-sharp/DomainBrowser.cs +++ b/avahi-sharp/DomainBrowser.cs @@ -44,7 +44,22 @@ namespace Avahi public LookupResultFlags Flags; } - public delegate void DomainInfoHandler (object o, DomainInfo info); + public class DomainInfoArgs : EventArgs + { + private DomainInfo domain; + + public DomainInfo Domain + { + get { return domain; } + } + + public DomainInfoArgs (DomainInfo domain) + { + this.domain = domain; + } + } + + public delegate void DomainInfoHandler (object o, DomainInfoArgs args); public class DomainBrowser : BrowserBase, IDisposable { @@ -160,20 +175,18 @@ namespace Avahi info.Domain = Utility.PtrToString (domain); info.Flags = flags; - infos.Add (info); - switch (bevent) { case BrowserEvent.Added: infos.Add (info); foreach (DomainInfoHandler handler in addListeners) - handler (this, info); + handler (this, new DomainInfoArgs (info)); break; case BrowserEvent.Removed: infos.Remove (info); foreach (DomainInfoHandler handler in removeListeners) - handler (this, info); + handler (this, new DomainInfoArgs (info)); break; default: EmitBrowserEvent (bevent); |