diff options
author | James Willcox <snopr@snorp.net> | 2005-11-17 17:55:09 +0000 |
---|---|---|
committer | James Willcox <snopr@snorp.net> | 2005-11-17 17:55:09 +0000 |
commit | 84a9392791c574c56ca148157b8b951851208398 (patch) | |
tree | 3faf9ccf41d970b0c686907f9a3a6c93f3c5736d /avahi-sharp/ServiceTypeBrowser.cs | |
parent | e285034f90e0856d13a441b0e8d355f9b34aa95b (diff) |
* 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
Diffstat (limited to 'avahi-sharp/ServiceTypeBrowser.cs')
-rw-r--r-- | avahi-sharp/ServiceTypeBrowser.cs | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/avahi-sharp/ServiceTypeBrowser.cs b/avahi-sharp/ServiceTypeBrowser.cs index 754b9b1..dbfff73 100644 --- a/avahi-sharp/ServiceTypeBrowser.cs +++ b/avahi-sharp/ServiceTypeBrowser.cs @@ -38,7 +38,22 @@ namespace Avahi public LookupResultFlags Flags; } - public delegate void ServiceTypeInfoHandler (object o, ServiceTypeInfo info); + public class ServiceTypeInfoArgs : EventArgs + { + private ServiceTypeInfo type; + + public ServiceTypeInfo ServiceType + { + get { return type; } + } + + public ServiceTypeInfoArgs (ServiceTypeInfo type) + { + this.type = type; + } + } + + public delegate void ServiceTypeInfoHandler (object o, ServiceTypeInfoArgs args); public class ServiceTypeBrowser : BrowserBase, IDisposable { @@ -159,20 +174,18 @@ namespace Avahi info.ServiceType = Utility.PtrToString (type); info.Flags = flags; - infos.Add (info); - switch (bevent) { case BrowserEvent.Added: infos.Add (info); foreach (ServiceTypeInfoHandler handler in addListeners) - handler (this, info); + handler (this, new ServiceTypeInfoArgs (info)); break; case BrowserEvent.Removed: infos.Remove (info); foreach (ServiceTypeInfoHandler handler in removeListeners) - handler (this, info); + handler (this, new ServiceTypeInfoArgs (info)); break; default: EmitBrowserEvent (bevent); |