]> git.meshlink.io Git - catta/blobdiff - avahi-sharp/DomainBrowser.cs
* Add RecordBrowser.cs
[catta] / avahi-sharp / DomainBrowser.cs
index 08f2b35a08219aca95f6af21d499e19afada55ee..50ac75778db363ac347cac0881b4add0aaaf4ee4 100644 (file)
@@ -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);