summaryrefslogtreecommitdiffstats
path: root/avahi-sharp/DomainBrowser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-sharp/DomainBrowser.cs')
-rw-r--r--avahi-sharp/DomainBrowser.cs23
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);