diff options
author | Federico Lucifredi <flucifredi@acm.org> | 2006-12-19 19:11:45 +0000 |
---|---|---|
committer | Federico Lucifredi <flucifredi@acm.org> | 2006-12-19 19:11:45 +0000 |
commit | 6386804f93ee272fcff73459a9cfe0b847101609 (patch) | |
tree | 26fa54c9fdaeb608560ccaa249f153e04e6e5798 /trunk/avahi-sharp | |
parent | 16ed6d63c6c231cb5e606421ae3a245b2948185f (diff) |
Branching for wide-area publishing work
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1344 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'trunk/avahi-sharp')
65 files changed, 6604 insertions, 0 deletions
diff --git a/trunk/avahi-sharp/AddressResolver.cs b/trunk/avahi-sharp/AddressResolver.cs new file mode 100644 index 0000000..3025102 --- /dev/null +++ b/trunk/avahi-sharp/AddressResolver.cs @@ -0,0 +1,192 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Collections; +using System.Net; +using System.Runtime.InteropServices; +using Mono.Unix; + +namespace Avahi +{ + + internal delegate void AddressResolverCallback (IntPtr resolver, int iface, Protocol proto, + ResolverEvent revent, IntPtr address, + IntPtr hostname, LookupResultFlags flags, IntPtr userdata); + + public delegate void HostAddressHandler (object o, HostAddressArgs args); + + public class HostAddressArgs : EventArgs + { + private string host; + private IPAddress address; + + public string Host + { + get { return host; } + } + + public IPAddress Address + { + get { return address; } + } + + public HostAddressArgs (string host, IPAddress address) + { + this.host = host; + this.address = address; + } + } + + public class AddressResolver : ResolverBase, IDisposable + { + private IntPtr handle; + private Client client; + private int iface; + private Protocol proto; + private IPAddress address; + private LookupFlags flags; + private AddressResolverCallback cb; + + private IPAddress currentAddress; + private string currentHost; + + private ArrayList foundListeners = new ArrayList (); + private ArrayList timeoutListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_address_resolver_new (IntPtr client, int iface, Protocol proto, + IntPtr address, LookupFlags flags, + AddressResolverCallback cb, + IntPtr userdata); + + [DllImport ("avahi-client")] + private static extern void avahi_address_resolver_free (IntPtr handle); + + public event HostAddressHandler Found + { + add { + foundListeners.Add (value); + Start (); + } + remove { + foundListeners.Remove (value); + Stop (false); + } + } + + public event EventHandler Timeout + { + add { + timeoutListeners.Add (value); + Start (); + } + remove { + timeoutListeners.Remove (value); + Stop (false); + } + } + + public IPAddress Address + { + get { return currentAddress; } + } + + public string HostName + { + get { return currentHost; } + } + + public AddressResolver (Client client, IPAddress address) : this (client, -1, Protocol.Unspecified, + address, LookupFlags.None) + { + } + + public AddressResolver (Client client, int iface, Protocol proto, IPAddress address, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.address = address; + this.flags = flags; + cb = OnAddressResolverCallback; + } + + ~AddressResolver () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero || handle != IntPtr.Zero || + (foundListeners.Count == 0 && timeoutListeners.Count == 0)) + return; + + IntPtr addrPtr = Utility.AddressToPtr (address); + + lock (client) { + handle = avahi_address_resolver_new (client.Handle, iface, proto, addrPtr, flags, + cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + + Utility.Free (addrPtr); + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (foundListeners.Count == 0 && timeoutListeners.Count == 0))) { + + lock (client) { + avahi_address_resolver_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnAddressResolverCallback (IntPtr resolver, int iface, Protocol proto, + ResolverEvent revent, IntPtr address, + IntPtr hostname, LookupResultFlags flags, IntPtr userdata) + { + switch (revent) { + case ResolverEvent.Found: + currentAddress = Utility.PtrToAddress (address); + currentHost = Utility.PtrToString (hostname); + + foreach (HostAddressHandler handler in foundListeners) + handler (this, new HostAddressArgs (currentHost, currentAddress)); + break; + case ResolverEvent.Failure: + EmitFailure (client.LastError); + break; + } + } + } +} diff --git a/trunk/avahi-sharp/AssemblyInfo.cs b/trunk/avahi-sharp/AssemblyInfo.cs new file mode 100644 index 0000000..f8dd4ed --- /dev/null +++ b/trunk/avahi-sharp/AssemblyInfo.cs @@ -0,0 +1,50 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System.Reflection; +using System.Runtime.CompilerServices; + +// +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +// +[assembly: AssemblyTitle("avahi-sharp")] +[assembly: AssemblyDescription("Mono bindings for the Avahi mDNS/DNS-SD stack")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("(C) 2005 James Willcox <snorp@snorp.net>")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("1.0.0")] diff --git a/trunk/avahi-sharp/AvahiTest.cs b/trunk/avahi-sharp/AvahiTest.cs new file mode 100644 index 0000000..ba4d59b --- /dev/null +++ b/trunk/avahi-sharp/AvahiTest.cs @@ -0,0 +1,133 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Collections; +using System.Text; +using System.Net; +using Avahi; + +public class AvahiTest { + private static Client client; + private static ArrayList objects = new ArrayList (); + + public static void Main () { + client = new Client (); + + Console.WriteLine ("joined service name: " + Client.JoinServiceName ("FooBar", "_foo", "local")); + + EntryGroup eg = new EntryGroup (client); + eg.StateChanged += OnEntryGroupChanged; + eg.AddService ("foobar2", "_dingdong._tcp", client.DomainName, + 444, new string[] { "foo=stuff", "bar=stuff2", "baz=stuff3" }); + eg.Commit (); + BrowseServiceTypes ("local"); + Console.WriteLine ("Press enter to quit"); + Console.ReadLine (); + client.Dispose (); + } + + private static void OnEntryGroupChanged (object o, EntryGroupStateArgs args) + { + Console.WriteLine ("Entry group status: " + args.State); + if (args.State == EntryGroupState.Established) { + DomainBrowser browser = new DomainBrowser (client); + objects.Add (browser); + + browser.DomainAdded += OnDomainAdded; + } + } + + private static void OnDomainAdded (object o, DomainInfoArgs args) + { + Console.WriteLine ("Got domain added: " + args.Domain.Domain); + // BrowseServiceTypes (args.Domain.Domain); + } + + private static void BrowseServiceTypes (string domain) + { + ServiceTypeBrowser stb = new ServiceTypeBrowser (client, domain); + objects.Add (stb); + + stb.CacheExhausted += OnCacheExhausted; + stb.ServiceTypeAdded += OnServiceTypeAdded; + } + + private static void OnCacheExhausted (object o, EventArgs args) + { + Console.WriteLine ("Cache is exhausted"); + } + + private static void OnServiceTypeAdded (object o, ServiceTypeInfoArgs args) + { + Console.WriteLine ("Got service type: " + args.ServiceType.ServiceType); + ServiceBrowser sb = new ServiceBrowser (client, args.ServiceType.ServiceType, args.ServiceType.Domain); + objects.Add (sb); + + sb.ServiceAdded += OnServiceAdded; + } + + private static void OnServiceAdded (object o, ServiceInfoArgs args) + { + // Console.WriteLine ("Got service: " + info.Name); + ServiceResolver resolver = new ServiceResolver (client, args.Service); + objects.Add (resolver); + resolver.Found += OnServiceResolved; + } + + private static void OnServiceResolved (object o, ServiceInfoArgs args) + { + objects.Remove (o); + + Console.WriteLine ("Service '{0}' at {1}:{2}", args.Service.Name, args.Service.HostName, args.Service.Port); + foreach (byte[] bytes in args.Service.Text) { + Console.WriteLine ("Text: " + Encoding.UTF8.GetString (bytes)); + } + + AddressResolver ar = new AddressResolver (client, args.Service.Address); + objects.Add (ar); + + ar.Found += OnAddressResolved; + ar.Failed += OnAddressResolverFailed; + } + + private static void OnAddressResolverFailed (object o, ErrorCodeArgs args) + { + Console.WriteLine ("Failed to resolve '{0}': {1}", (o as AddressResolver).Address, args.ErrorCode); + } + + private static void OnAddressResolved (object o, HostAddressArgs args) + { + objects.Remove (o); + + Console.WriteLine ("Resolved {0} to {1}", args.Address, args.Host); + HostNameResolver hr = new HostNameResolver (client, args.Host); + objects.Add (hr); + + hr.Found += OnHostNameResolved; + } + + private static void OnHostNameResolved (object o, HostAddressArgs args) + { + objects.Remove (o); + Console.WriteLine ("Resolved {0} to {1}", args.Host, args.Address); + } +} diff --git a/trunk/avahi-sharp/BrowserBase.cs b/trunk/avahi-sharp/BrowserBase.cs new file mode 100644 index 0000000..0a1e3a7 --- /dev/null +++ b/trunk/avahi-sharp/BrowserBase.cs @@ -0,0 +1,52 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; + +namespace Avahi +{ + public abstract class BrowserBase + { + public event EventHandler CacheExhausted; + public event EventHandler AllForNow; + public event EventHandler Failed; + + internal void EmitBrowserEvent (BrowserEvent bevent) + { + switch (bevent) { + case BrowserEvent.CacheExhausted: + if (CacheExhausted != null) + CacheExhausted (this, new EventArgs ()); + break; + case BrowserEvent.AllForNow: + if (AllForNow != null) + AllForNow (this, new EventArgs ()); + break; + case BrowserEvent.Failure: + if (Failed != null) + Failed (this, new EventArgs ()); + break; + default: + break; + } + } + } +} diff --git a/trunk/avahi-sharp/Client.cs b/trunk/avahi-sharp/Client.cs new file mode 100644 index 0000000..02763d4 --- /dev/null +++ b/trunk/avahi-sharp/Client.cs @@ -0,0 +1,385 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + + +using System; +using System.Threading; +using System.Collections; +using System.Runtime.InteropServices; +using Mono.Unix; +using Mono.Unix.Native; + +using Stdlib = Mono.Unix.Native.Stdlib; + +namespace Avahi +{ + internal enum ResolverEvent { + Found, + Failure + } + + internal enum BrowserEvent { + Added, + Removed, + CacheExhausted, + AllForNow, + Failure + } + + internal delegate int PollCallback (IntPtr ufds, uint nfds, int timeout); + internal delegate void ClientCallback (IntPtr client, ClientState state, IntPtr userData); + + public delegate void ClientStateHandler (object o, ClientStateArgs state); + + public class ClientStateArgs : EventArgs + { + private ClientState state; + private ErrorCode error; + + public ClientState State + { + get { return state; } + } + + public ErrorCode Error + { + get { return error; } + } + + public ClientStateArgs (ClientState state, ErrorCode error) + { + this.state = state; + this.error = error; + } + } + + public enum Protocol { + Unspecified = -1, + IPv4 = 0, + IPv6 = 1 + } + + internal enum ServerState { + Invalid, + Registering, + Running, + Collision + } + + public enum ClientState { + Registering = ServerState.Registering, + Running = ServerState.Running, + Collision = ServerState.Collision, + Failure = 100, + Connecting = 101 + } + + [Flags] + public enum LookupFlags { + None = 0, + UseWideArea = 1, + UseMulticast = 2, + NoTxt = 4, + NoAddress = 8 + } + + [Flags] + public enum LookupResultFlags { + None = 0, + Cached = 1, + WideArea = 2, + Multicast = 4, + Local = 8, + OurOwn = 16, + } + + [Flags] + public enum ClientFlags { + None = 0, + IgnoreUserConfig = 1, + NoFail = 2 + } + + public class Client : IDisposable + { + private IntPtr handle; + private ClientCallback cb; + private PollCallback pollcb; + private IntPtr spoll; + + private Thread thread; + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_client_new (IntPtr poll, ClientFlags flags, ClientCallback handler, + IntPtr userData, out int error); + + [DllImport ("avahi-client")] + private static extern void avahi_client_free (IntPtr handle); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_client_get_version_string (IntPtr handle); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_client_get_host_name (IntPtr handle); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_client_get_domain_name (IntPtr handle); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_client_get_host_name_fqdn (IntPtr handle); + + [DllImport ("avahi-client")] + private static extern ClientState avahi_client_get_state (IntPtr handle); + + [DllImport ("avahi-client")] + private static extern int avahi_client_errno (IntPtr handle); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_simple_poll_new (); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_simple_poll_get (IntPtr spoll); + + [DllImport ("avahi-common")] + private static extern void avahi_simple_poll_free (IntPtr spoll); + + [DllImport ("avahi-common")] + private static extern int avahi_simple_poll_loop (IntPtr spoll); + + [DllImport ("avahi-common")] + private static extern void avahi_simple_poll_set_func (IntPtr spoll, PollCallback cb); + + [DllImport ("avahi-common")] + private static extern void avahi_simple_poll_quit (IntPtr spoll); + + [DllImport ("avahi-client")] + private static extern uint avahi_client_get_local_service_cookie (IntPtr client); + + [DllImport ("avahi-common")] + private static extern int avahi_service_name_join (IntPtr buf, int len, byte[] name, byte[] type, + byte[] domain); + + [DllImport ("avahi-common")] + private static extern int avahi_service_name_split (byte[] service, IntPtr name, int name_len, + IntPtr type, int type_len, + IntPtr domain, int domain_len); + + + [DllImport ("libc")] + private static extern int poll(IntPtr ufds, uint nfds, int timeout); + + public event ClientStateHandler StateChanged; + + internal IntPtr Handle + { + get { return handle; } + } + + public string Version + { + get { + lock (this) { + return Utility.PtrToString (avahi_client_get_version_string (handle)); + } + } + } + + public string HostName + { + get { + lock (this) { + return Utility.PtrToString (avahi_client_get_host_name (handle)); + } + } + } + + public string DomainName + { + get { + lock (this) { + return Utility.PtrToString (avahi_client_get_domain_name (handle)); + } + } + } + + public string HostNameFqdn + { + get { + lock (this) { + return Utility.PtrToString (avahi_client_get_host_name_fqdn (handle)); + } + } + } + + public ClientState State + { + get { + lock (this) { + return (ClientState) avahi_client_get_state (handle); + } + } + } + + public uint LocalServiceCookie + { + get { + lock (this) { + return avahi_client_get_local_service_cookie (handle); + } + } + } + + internal ErrorCode LastError + { + get { + lock (this) { + return (ErrorCode) avahi_client_errno (handle); + } + } + } + + public Client (ClientFlags flags) + { + spoll = avahi_simple_poll_new (); + + pollcb = OnPollCallback; + avahi_simple_poll_set_func (spoll, pollcb); + IntPtr poll = avahi_simple_poll_get (spoll); + cb = OnClientCallback; + + int error; + handle = avahi_client_new (poll, flags, cb, IntPtr.Zero, out error); + if (error != 0) + throw new ClientException (error); + + thread = new Thread (PollLoop); + thread.IsBackground = true; + thread.Start (); + } + + public Client () : this (ClientFlags.None) { + } + + ~Client () + { + Dispose (); + } + + public void Dispose () + { + if (handle != IntPtr.Zero) { + lock (this) { + avahi_client_free (handle); + handle = IntPtr.Zero; + + avahi_simple_poll_quit (spoll); + Monitor.Wait (this); + + avahi_simple_poll_free (spoll); + } + } + } + + public static string JoinServiceName (string name, string type, string domain) + { + int len = 4 * (name.Length + type.Length + domain.Length) + 4; + IntPtr buf = Stdlib.malloc ((ulong) len); + + int ret = avahi_service_name_join (buf, len, + Utility.StringToBytes (name), + Utility.StringToBytes (type), + Utility.StringToBytes (domain)); + + if (ret < 0) { + Utility.Free (buf); + return null; // FIXME, should throw exception + } + + string service = Utility.PtrToString (buf); + Utility.Free (buf); + + return service; + } + + public static void SplitServiceName (string service, out string name, out string type, out string domain) + { + int len = 1024; + + IntPtr namePtr = Stdlib.malloc ((ulong) len); + IntPtr typePtr = Stdlib.malloc ((ulong) len); + IntPtr domainPtr = Stdlib.malloc ((ulong) len); + + int ret = avahi_service_name_split (Utility.StringToBytes (service), namePtr, len, typePtr, len, + domainPtr, len); + + if (ret < 0) { + Utility.Free (namePtr); + Utility.Free (typePtr); + Utility.Free (domainPtr); + + name = null; + type = null; + domain = null; + return; + } + + name = Utility.PtrToString (namePtr); + type = Utility.PtrToString (typePtr); + domain = Utility.PtrToString (domainPtr); + + Utility.Free (namePtr); + Utility.Free (typePtr); + Utility.Free (domainPtr); + } + + internal void ThrowError () + { + ErrorCode error = LastError; + + if (error != ErrorCode.Ok) + throw new ClientException (error); + } + + private void OnClientCallback (IntPtr client, ClientState state, IntPtr userData) + { + if (StateChanged != null) + StateChanged (this, new ClientStateArgs (state, LastError)); + } + + private int OnPollCallback (IntPtr ufds, uint nfds, int timeout) { + Monitor.Exit (this); + int result = poll (ufds, nfds, timeout); + Monitor.Enter (this); + return result; + } + + private void PollLoop () { + try { + lock (this) { + avahi_simple_poll_loop (spoll); + Monitor.Pulse (this); + } + } catch (Exception e) { + Console.Error.WriteLine ("Error in avahi-sharp event loop: " + e); + } + } + } +} diff --git a/trunk/avahi-sharp/ClientException.cs b/trunk/avahi-sharp/ClientException.cs new file mode 100644 index 0000000..fadcce9 --- /dev/null +++ b/trunk/avahi-sharp/ClientException.cs @@ -0,0 +1,125 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + + +using System; +using System.Runtime.InteropServices; + +namespace Avahi +{ + public enum ErrorCode { + Ok = 0, + Failure = -1, + BadState = -2, + InvalidHostName = - 3, + InvalidDomainName = -4, + NoNetwork = -5, + InvalidTTL = -6, + IsPattern = -7, + Collision = -8, + InvalidRecord = -9, + InvalidServiceName = -10, + InvalidServiceType = -11, + InvalidPort = -12, + InvalidKey = -13, + InvalidAddress = -14, + Timeout = -15, + TooManyClients = -16, + TooManyObjects = -17, + TooManyEntries = -18, + OS = -19, + AccessDenied = -20, + InvalidOperation = -21, + DBusError = -22, + Disconnected = -23, + NoMemory = -24, + InvalidObject = -25, + NoDaemon = -26, + InvalidInterface = -27, + InvalidProtocol = -28, + InvalidFlags = -29, + NotFound = -30, + InvalidConfig = -31, + VersionMismatch = -32, + InvalidServiceSubtype = -33, + InvalidPacket = -34, + InvalidDnsError = -35, + DnsFormErr = -36, + DnsServFail = -37, + DnsNxDomain = -38, + DnsNoTimp = -39, + DnsRefused = -40, + DnsYxDomain = -41, + DnsYxRrSet = -42, + DnsNxRrSet = -43, + DnsNotAuth = -44, + DnsNotZone = -45, + InvalidRData = -46, + InvalidDnsClass = -47, + InvalidDnsType = -48, + NotSupported = -49, + NotPermitted = -50 + } + + public delegate void ErrorCodeHandler (object o, ErrorCodeArgs args); + + public class ErrorCodeArgs : EventArgs + { + private ErrorCode code; + + public ErrorCode ErrorCode + { + get { return code; } + } + + public ErrorCodeArgs (ErrorCode code) + { + this.code = code; + } + } + + public class ClientException : ApplicationException + { + private ErrorCode code; + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_strerror (ErrorCode code); + + public ErrorCode ErrorCode + { + get { return code; } + } + + internal ClientException (int code) : this ((ErrorCode) code) { + } + + internal ClientException (ErrorCode code) : base (GetErrorString (code)) + { + this.code = code; + } + + private static string GetErrorString (ErrorCode code) + { + IntPtr str = avahi_strerror (code); + return Utility.PtrToString (str); + } + } +} diff --git a/trunk/avahi-sharp/DomainBrowser.cs b/trunk/avahi-sharp/DomainBrowser.cs new file mode 100644 index 0000000..50da54e --- /dev/null +++ b/trunk/avahi-sharp/DomainBrowser.cs @@ -0,0 +1,200 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Collections; +using System.Runtime.InteropServices; +using System.Text; + +namespace Avahi +{ + internal delegate void DomainBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr domain, LookupResultFlags flags, IntPtr userdata); + + public enum DomainBrowserType { + Browse, + BrowseDefault, + Register, + RegisterDefault, + BrowseLegacy + } + + public struct DomainInfo + { + public int NetworkInterface; + public Protocol Protocol; + public string Domain; + public LookupResultFlags Flags; + } + + 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 + { + private IntPtr handle; + private ArrayList infos = new ArrayList (); + private Client client; + private int iface; + private Protocol proto; + private string domain; + private DomainBrowserType btype; + private LookupFlags flags; + private DomainBrowserCallback cb; + + private ArrayList addListeners = new ArrayList (); + private ArrayList removeListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_domain_browser_new (IntPtr client, int iface, int proto, + byte[] domain, int btype, LookupFlags flags, + DomainBrowserCallback cb, + IntPtr userdata); + + [DllImport ("avahi-client")] + private static extern void avahi_domain_browser_free (IntPtr handle); + + public event DomainInfoHandler DomainAdded + { + add { + addListeners.Add (value); + Start (); + } + remove { + addListeners.Remove (value); + Stop (false); + } + } + + public event DomainInfoHandler DomainRemoved + { + add { + removeListeners.Add (value); + Start (); + } + remove { + removeListeners.Remove (value); + Stop (false); + } + } + + public DomainInfo[] Domains + { + get { return (DomainInfo[]) infos.ToArray (typeof (DomainInfo)); } + } + + public DomainBrowser (Client client) : this (client, -1, Protocol.Unspecified, client.DomainName, + DomainBrowserType.Browse, LookupFlags.None) { + } + + public DomainBrowser (Client client, int iface, Protocol proto, string domain, + DomainBrowserType btype, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.domain = domain; + this.btype = btype; + this.flags = flags; + cb = OnDomainBrowserCallback; + } + + ~DomainBrowser () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero && handle != IntPtr.Zero || + (addListeners.Count == 0 && removeListeners.Count == 0)) + return; + + lock (client) { + handle = avahi_domain_browser_new (client.Handle, iface, (int) proto, + Utility.StringToBytes (domain), (int) btype, flags, + cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (addListeners.Count == 0 && removeListeners.Count == 0))) { + lock (client) { + avahi_domain_browser_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnDomainBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr domain, LookupResultFlags flags, IntPtr userdata) + { + + DomainInfo info; + info.NetworkInterface = iface; + info.Protocol = proto; + info.Domain = Utility.PtrToString (domain); + info.Flags = flags; + + switch (bevent) { + case BrowserEvent.Added: + infos.Add (info); + + foreach (DomainInfoHandler handler in addListeners) + handler (this, new DomainInfoArgs (info)); + break; + case BrowserEvent.Removed: + infos.Remove (info); + + foreach (DomainInfoHandler handler in removeListeners) + handler (this, new DomainInfoArgs (info)); + break; + default: + EmitBrowserEvent (bevent); + break; + } + } + } +} diff --git a/trunk/avahi-sharp/EntryGroup.cs b/trunk/avahi-sharp/EntryGroup.cs new file mode 100644 index 0000000..02be643 --- /dev/null +++ b/trunk/avahi-sharp/EntryGroup.cs @@ -0,0 +1,378 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Net; +using System.Runtime.InteropServices; +using System.Text; +using Mono.Unix; + +namespace Avahi +{ + + [Flags] + public enum PublishFlags { + None = 0, + Unique = 1, + NoProbe = 2, + NoAnnounce = 4, + AllowMultiple = 8, + NoReverse = 16, + NoCookie = 32, + Update = 64, + UseWideArea = 128, + UseMulticast = 256 + } + + public enum EntryGroupState { + Uncommited, + Registering, + Established, + Collision, + Failure + } + + public class EntryGroupStateArgs : EventArgs + { + private EntryGroupState state; + + public EntryGroupState State + { + get { return state; } + } + + public EntryGroupStateArgs (EntryGroupState state) + { + this.state = state; + } + } + + internal delegate void EntryGroupCallback (IntPtr group, EntryGroupState state, IntPtr userdata); + public delegate void EntryGroupStateHandler (object o, EntryGroupStateArgs args); + + public class EntryGroup : IDisposable + { + private Client client; + private IntPtr handle; + private EntryGroupCallback cb; + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_entry_group_new (IntPtr client, EntryGroupCallback cb, IntPtr userdata); + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_commit (IntPtr group); + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_reset (IntPtr group); + + [DllImport ("avahi-client")] + private static extern EntryGroupState avahi_entry_group_get_state (IntPtr group); + + [DllImport ("avahi-client")] + private static extern bool avahi_entry_group_is_empty (IntPtr group); + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_add_service_strlst (IntPtr group, int iface, Protocol proto, + PublishFlags flags, byte[] name, byte[] type, + byte[] domain, byte[] host, UInt16 port, + IntPtr strlst); + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_update_service_strlst (IntPtr group, int iface, Protocol proto, + PublishFlags flags, byte[] name, + byte[] type, byte[] domain, IntPtr strlst); + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_add_service_subtype (IntPtr group, int iface, Protocol proto, + PublishFlags flags, byte[] name, byte[] type, + byte[] domain, byte[] subtype); + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_add_address (IntPtr group, int iface, Protocol proto, + PublishFlags flags, byte[] name, IntPtr address); + + + [DllImport ("avahi-client")] + private static extern int avahi_entry_group_add_record (IntPtr group, int iface, Protocol proto, + PublishFlags flags, byte[] name, RecordClass clazz, + RecordType type, uint ttl, byte[] rdata, int size); + + [DllImport ("avahi-client")] + private static extern void avahi_entry_group_free (IntPtr group); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_string_list_new (IntPtr txt); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_string_list_add (IntPtr list, byte[] txt); + + [DllImport ("avahi-common")] + private static extern void avahi_string_list_free (IntPtr list); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_alternative_service_name (byte[] name); + + public event EntryGroupStateHandler StateChanged; + + public EntryGroupState State + { + get { + lock (client) { + return avahi_entry_group_get_state (handle); + } + } + } + + public bool IsEmpty + { + get { + lock (client) { + return avahi_entry_group_is_empty (handle); + } + } + } + + public EntryGroup (Client client) + { + this.client = client; + cb = OnEntryGroupCallback; + + lock (client) { + handle = avahi_entry_group_new (client.Handle, cb, IntPtr.Zero); + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + ~EntryGroup () + { + Dispose (); + } + + public void Dispose () + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero) { + lock (client) { + avahi_entry_group_free (handle); + handle = IntPtr.Zero; + } + } + } + + public void Commit () + { + lock (client) { + if (avahi_entry_group_commit (handle) < 0) + client.ThrowError (); + } + } + + public void Reset () + { + lock (client) { + if (avahi_entry_group_reset (handle) < 0) + client.ThrowError (); + } + } + + public void AddService (string name, string type, string domain, + UInt16 port, params string[] txt) + { + AddService (PublishFlags.None, name, type, domain, port, txt); + } + + public void AddService (PublishFlags flags, string name, string type, string domain, + UInt16 port, params string[] txt) + { + AddService (-1, Protocol.Unspecified, flags, name, type, domain, null, port, txt); + } + + public void AddService (int iface, Protocol proto, PublishFlags flags, string name, string type, string domain, + string host, UInt16 port, params string[] txt) + { + IntPtr list = avahi_string_list_new (IntPtr.Zero); + + if (txt != null) { + foreach (string item in txt) { + list = avahi_string_list_add (list, Utility.StringToBytes (item)); + } + } + + AddService (iface, proto, flags, name, type, domain, host, port, list); + } + + public void AddService (int iface, Protocol proto, PublishFlags flags, string name, string type, string domain, + string host, UInt16 port, params byte[][] txt) + { + IntPtr list = avahi_string_list_new (IntPtr.Zero); + + if (txt != null) { + foreach (byte[] item in txt) { + list = avahi_string_list_add (list, item); + } + } + + AddService (iface, proto, flags, name, type, domain, host, port, list); + } + + private void AddService (int iface, Protocol proto, PublishFlags flags, string name, string type, + string domain, string host, UInt16 port, IntPtr list) + { + int ret; + + lock (client) { + ret = avahi_entry_group_add_service_strlst (handle, iface, proto, flags, + Utility.StringToBytes (name), + Utility.StringToBytes (type), + Utility.StringToBytes (domain), + Utility.StringToBytes (host), port, list); + } + + avahi_string_list_free (list); + + if (ret < 0) { + client.ThrowError (); + } + } + + public void UpdateService (string name, string type, string domain, params string[] txt) + { + UpdateService (-1, Protocol.Unspecified, PublishFlags.None, name, type, domain, txt); + } + + public void UpdateService (int iface, Protocol proto, PublishFlags flags, string name, string type, + string domain, params string[] txt) + { + IntPtr list = avahi_string_list_new (IntPtr.Zero); + + if (txt != null) { + foreach (string item in txt) { + list = avahi_string_list_add (list, Utility.StringToBytes (item)); + } + } + + UpdateService (iface, proto, flags, name, type, domain, list); + } + + public void UpdateService (int iface, Protocol proto, PublishFlags flags, string name, string type, + string domain, params byte[][] txt) + { + IntPtr list = avahi_string_list_new (IntPtr.Zero); + + if (txt != null) { + foreach (byte[] item in txt) { + list = avahi_string_list_add (list, item); + } + } + + UpdateService (iface, proto, flags, name, type, domain, list); + } + + private void UpdateService (int iface, Protocol proto, PublishFlags flags, string name, string type, + string domain, IntPtr list) + { + lock (client) { + int ret = avahi_entry_group_update_service_strlst (handle, iface, proto, flags, + Utility.StringToBytes (name), + Utility.StringToBytes (type), + Utility.StringToBytes (domain), + list); + + avahi_string_list_free (list); + + if (ret < 0) { + client.ThrowError (); + } + } + } + + public void AddServiceSubtype (string name, string type, string domain, string subtype) + { + AddServiceSubtype (-1, Protocol.Unspecified, PublishFlags.None, name, type, domain, subtype); + } + + public void AddServiceSubtype (int iface, Protocol proto, PublishFlags flags, string name, + string type, string domain, string subtype) + { + lock (client) { + int ret = avahi_entry_group_add_service_subtype (handle, iface, proto, flags, + Utility.StringToBytes (name), + Utility.StringToBytes (type), + Utility.StringToBytes (domain), + Utility.StringToBytes (subtype)); + + if (ret < 0) { + client.ThrowError (); + } + } + } + + public void AddAddress (string name, IPAddress address) + { + AddAddress (-1, Protocol.Unspecified, PublishFlags.None, name, address); + } + + public void AddAddress (int iface, Protocol proto, PublishFlags flags, string name, IPAddress address) + { + IntPtr addressPtr = Utility.AddressToPtr (address); + + lock (client) { + int ret = avahi_entry_group_add_address (handle, iface, proto, flags, + Utility.StringToBytes (name), addressPtr); + + Utility.Free (addressPtr); + + if (ret < 0) { + client.ThrowError (); + } + } + } + + public void AddRecord (string name, RecordClass clazz, RecordType type, uint ttl, byte[] rdata, int length) + { + AddRecord (-1, Protocol.Unspecified, PublishFlags.None, name, clazz, type, ttl, rdata, length); + } + + public void AddRecord (int iface, Protocol proto, PublishFlags flags, string name, + RecordClass clazz, RecordType type, uint ttl, byte[] rdata, int length) + { + lock (client) { + int ret = avahi_entry_group_add_record (handle, iface, proto, flags, + Utility.StringToBytes (name), + clazz, type, ttl, rdata, length); + + if (ret < 0) { + client.ThrowError (); + } + } + } + + public static string GetAlternativeServiceName (string name) { + return Utility.PtrToStringFree (avahi_alternative_service_name (Utility.StringToBytes (name))); + } + + private void OnEntryGroupCallback (IntPtr group, EntryGroupState state, IntPtr userdata) + { + if (StateChanged != null) + StateChanged (this, new EntryGroupStateArgs (state)); + } + } +} diff --git a/trunk/avahi-sharp/HostNameResolver.cs b/trunk/avahi-sharp/HostNameResolver.cs new file mode 100644 index 0000000..81305fd --- /dev/null +++ b/trunk/avahi-sharp/HostNameResolver.cs @@ -0,0 +1,169 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Collections; +using System.Net; +using System.Runtime.InteropServices; +using System.Text; +using Mono.Unix; + +namespace Avahi +{ + + internal delegate void HostNameResolverCallback (IntPtr resolver, int iface, Protocol proto, + ResolverEvent revent, IntPtr hostname, IntPtr address, + LookupResultFlags flags, IntPtr userdata); + + public class HostNameResolver : ResolverBase, IDisposable + { + private IntPtr handle; + private Client client; + private int iface; + private Protocol proto; + private string hostname; + private Protocol aproto; + private LookupFlags flags; + private HostNameResolverCallback cb; + + private IPAddress currentAddress; + private string currentHost; + + private ArrayList foundListeners = new ArrayList (); + private ArrayList timeoutListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_host_name_resolver_new (IntPtr client, int iface, Protocol proto, + byte[] hostname, Protocol aproto, LookupFlags flags, + HostNameResolverCallback cb, IntPtr userdata); + + [DllImport ("avahi-client")] + private static extern void avahi_host_name_resolver_free (IntPtr handle); + + public event HostAddressHandler Found + { + add { + foundListeners.Add (value); + Start (); + } + remove { + foundListeners.Remove (value); + Stop (false); + } + } + + public event EventHandler Timeout + { + add { + timeoutListeners.Add (value); + Start (); + } + remove { + timeoutListeners.Remove (value); + Stop (false); + } + } + + public IPAddress Address + { + get { return currentAddress; } + } + + public string HostName + { + get { return currentHost; } + } + + public HostNameResolver (Client client, string hostname) : this (client, -1, Protocol.Unspecified, + hostname, Protocol.Unspecified, + LookupFlags.None) + { + } + + public HostNameResolver (Client client, int iface, Protocol proto, string hostname, + Protocol aproto, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.hostname = hostname; + this.aproto = aproto; + this.flags = flags; + cb = OnHostNameResolverCallback; + } + + ~HostNameResolver () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero || handle != IntPtr.Zero || + (foundListeners.Count == 0 && timeoutListeners.Count == 0)) + return; + + lock (client) { + handle = avahi_host_name_resolver_new (client.Handle, iface, proto, + Utility.StringToBytes (hostname), aproto, flags, + cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (foundListeners.Count == 0 && timeoutListeners.Count == 0))) { + + lock (client) { + avahi_host_name_resolver_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnHostNameResolverCallback (IntPtr resolver, int iface, Protocol proto, + ResolverEvent revent, IntPtr hostname, IntPtr address, + LookupResultFlags flags, IntPtr userdata) + { + switch (revent) { + case ResolverEvent.Found: + currentAddress = Utility.PtrToAddress (address); + currentHost = Utility.PtrToString (hostname); + + foreach (HostAddressHandler handler in foundListeners) + handler (this, new HostAddressArgs (currentHost, currentAddress)); + break; + case ResolverEvent.Failure: + EmitFailure (client.LastError); + break; + } + } + } +} diff --git a/trunk/avahi-sharp/Makefile.am b/trunk/avahi-sharp/Makefile.am new file mode 100644 index 0000000..43ab428 --- /dev/null +++ b/trunk/avahi-sharp/Makefile.am @@ -0,0 +1,84 @@ +# $Id$ + +# This file is part of avahi. +# +# avahi is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# avahi is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with avahi; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +ASSEMBLY = avahi-sharp.dll + +CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb $(ASSEMBLY).config + +AVAHISOURCES = \ + $(srcdir)/AddressResolver.cs \ + $(srcdir)/AssemblyInfo.cs \ + $(srcdir)/BrowserBase.cs \ + $(srcdir)/Client.cs \ + $(srcdir)/ClientException.cs \ + $(srcdir)/DomainBrowser.cs \ + $(srcdir)/EntryGroup.cs \ + $(srcdir)/HostNameResolver.cs \ + $(srcdir)/RecordBrowser.cs \ + $(srcdir)/ResolverBase.cs \ + $(srcdir)/ServiceBrowser.cs \ + $(srcdir)/ServiceResolver.cs \ + $(srcdir)/ServiceTypeBrowser.cs \ + $(srcdir)/Utility.cs + +EXTRA_DIST = \ + $(AVAHISOURCES) \ + $(srcdir)/AvahiTest.cs \ + $(srcdir)/avahi.snk \ + $(srcdir)/$(ASSEMBLY).config.in \ + $(srcdir)/avahi-sharp-docs.source \ + $(srcdir)/en/*.xml \ + $(srcdir)/en/*/*.xml \ + $(srcdir)/gencfg.sh + +$(ASSEMBLY): $(AVAHISOURCES) + mcs -keyfile:$(srcdir)/avahi.snk -target:library -out:$@ -debug $(AVAHISOURCES) -r:Mono.Posix + + +$(ASSEMBLY).config: $(ASSEMBLY).config.in + $(srcdir)/gencfg.sh $(top_builddir)/avahi-client/libavahi-client.la \ + $(top_builddir)/avahi-common/libavahi-common.la \ + $(top_builddir)/avahi-glib/libavahi-glib.la < $< > $@ + +if HAVE_MONO +if HAVE_DBUS +all: $(ASSEMBLY) $(ASSEMBLY).config + +if HAVE_MONODOC +update-docs: $(ASSEMBLY) + $(MONODOCER) -assembly:$(ASSEMBLY) -path:en + +avahi-sharp-docs.zip: avahi-sharp-docs.tree + +avahi-sharp-docs.tree: $(srcdir)/en/*/* + $(MDASSEMBLER) --out avahi-sharp-docs --ecma $(srcdir)/en + +monodocdir = $(MONODOC_DIR) +monodoc_DATA = avahi-sharp-docs.zip avahi-sharp-docs.tree avahi-sharp-docs.source + +endif + +install-data-hook: $(ASSEMBLY) + $(GACUTIL) /i $(ASSEMBLY) /package avahi-sharp /gacdir $(libdir) /root $(DESTDIR)$(libdir) + +uninstall-hook: $(ASSEMBLY) + $(GACUTIL) /u avahi-sharp /package avahi-sharp /gacdir $(libdir) /root $(DESTDIR)$(libdir) + +endif +endif diff --git a/trunk/avahi-sharp/RecordBrowser.cs b/trunk/avahi-sharp/RecordBrowser.cs new file mode 100644 index 0000000..f65f8ac --- /dev/null +++ b/trunk/avahi-sharp/RecordBrowser.cs @@ -0,0 +1,227 @@ +/* $Id: ServiceBrowser.cs 635 2005-09-26 03:57:30Z snorp $ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Net; +using System.Collections; +using System.Runtime.InteropServices; +using System.Text; + +namespace Avahi +{ + + public delegate void RecordInfoHandler (object o, RecordInfoArgs args); + + internal delegate void RecordBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr name, ushort clazz, ushort type, IntPtr rdata, int size, + LookupResultFlags flags, IntPtr userdata); + + public enum RecordClass { + In = 1 + } + + public enum RecordType { + A = 1, + Ns = 2, + Cname = 5, + Soa = 6, + Ptr = 12, + Hinfo = 13, + Mx = 15, + Txt = 16, + Aaa = 28, + Srv = 33 + } + + public struct RecordInfo + { + public int NetworkInterface; + public Protocol Protocol; + public string Name; + public RecordClass Class; + public RecordType Type; + public byte[] Data; + public LookupResultFlags Flags; + } + + public class RecordInfoArgs : EventArgs + { + private RecordInfo record; + + public RecordInfo Record { + get { return record; } + } + + public RecordInfoArgs (RecordInfo record) + { + this.record = record; + } + } + + public class RecordBrowser : BrowserBase, IDisposable + { + private IntPtr handle; + private ArrayList infos = new ArrayList (); + private Client client; + private int iface; + private Protocol proto; + private string name; + private RecordClass clazz; + private RecordType type; + private LookupFlags flags; + private RecordBrowserCallback cb; + + private ArrayList addListeners = new ArrayList (); + private ArrayList removeListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_record_browser_new (IntPtr client, int iface, Protocol proto, + byte[] name, ushort clazz, ushort type, + LookupFlags flags, RecordBrowserCallback cb, + IntPtr userdata); + + + [DllImport ("avahi-client")] + private static extern void avahi_record_browser_free (IntPtr handle); + + public event RecordInfoHandler RecordAdded + { + add { + addListeners.Add (value); + Start (); + } + remove { + addListeners.Remove (value); + Stop (false); + } + } + + public event RecordInfoHandler RecordRemoved + { + add { + removeListeners.Add (value); + Start (); + } + remove { + removeListeners.Remove (value); + Stop (false); + } + } + + public RecordInfo[] Records + { + get { return (RecordInfo[]) infos.ToArray (typeof (RecordInfo)); } + } + + public RecordBrowser (Client client, string name, RecordType type) : + this (client, -1, Protocol.Unspecified, name, RecordClass.In, type, LookupFlags.None) + { + } + + public RecordBrowser (Client client, int iface, Protocol proto, string name, RecordClass clazz, + RecordType type, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.name = name; + this.clazz = clazz; + this.type = type; + this.flags = flags; + cb = OnRecordBrowserCallback; + } + + ~RecordBrowser () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero || handle != IntPtr.Zero || + (addListeners.Count == 0 && removeListeners.Count == 0)) + return; + + lock (client) { + handle = avahi_record_browser_new (client.Handle, iface, proto, Utility.StringToBytes (name), + (ushort) clazz, (ushort) type, flags, cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (addListeners.Count == 0 && removeListeners.Count == 0))) { + + lock (client) { + avahi_record_browser_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnRecordBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr name, ushort clazz, ushort type, IntPtr rdata, int size, + LookupResultFlags flags, IntPtr userdata) + { + RecordInfo info; + info.NetworkInterface = iface; + info.Protocol = proto; + info.Name = Utility.PtrToString (name); + info.Class = (RecordClass) clazz; + info.Type = (RecordType) type; + info.Flags = flags; + info.Data = new byte[size]; + + if (rdata != IntPtr.Zero) { + Marshal.Copy (rdata, info.Data, 0, size); + } + + switch (bevent) { + case BrowserEvent.Added: + infos.Add (info); + + foreach (RecordInfoHandler handler in addListeners) + handler (this, new RecordInfoArgs (info)); + + break; + case BrowserEvent.Removed: + infos.Remove (info); + + foreach (RecordInfoHandler handler in removeListeners) + handler (this, new RecordInfoArgs (info)); + + break; + default: + EmitBrowserEvent (bevent); + break; + } + } + } +} diff --git a/trunk/avahi-sharp/ResolverBase.cs b/trunk/avahi-sharp/ResolverBase.cs new file mode 100644 index 0000000..0a5a2a8 --- /dev/null +++ b/trunk/avahi-sharp/ResolverBase.cs @@ -0,0 +1,36 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; + +namespace Avahi +{ + public abstract class ResolverBase + { + public event ErrorCodeHandler Failed; + + internal void EmitFailure (ErrorCode code) + { + if (Failed != null) + Failed (this, new ErrorCodeArgs (code)); + } + } +} diff --git a/trunk/avahi-sharp/ServiceBrowser.cs b/trunk/avahi-sharp/ServiceBrowser.cs new file mode 100644 index 0000000..520e339 --- /dev/null +++ b/trunk/avahi-sharp/ServiceBrowser.cs @@ -0,0 +1,216 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Net; +using System.Collections; +using System.Runtime.InteropServices; +using System.Text; + +namespace Avahi +{ + internal delegate void ServiceBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr name, IntPtr type, IntPtr domain, LookupResultFlags flags, + IntPtr userdata); + + public struct ServiceInfo + { + public int NetworkInterface; + public Protocol Protocol; + public string Domain; + public string ServiceType; + public string Name; + + public string HostName; + public IPAddress Address; + public UInt16 Port; + public byte[][] Text; + public LookupResultFlags Flags; + + public static ServiceInfo Zero = new ServiceInfo (); + } + + 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 + { + private IntPtr handle; + private ArrayList infos = new ArrayList (); + private Client client; + private int iface; + private Protocol proto; + private string domain; + private string type; + private LookupFlags flags; + private ServiceBrowserCallback cb; + + private ArrayList addListeners = new ArrayList (); + private ArrayList removeListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_service_browser_new (IntPtr client, int iface, int proto, byte[] type, + byte[] domain, LookupFlags flags, + ServiceBrowserCallback cb, + IntPtr userdata); + + [DllImport ("avahi-client")] + private static extern void avahi_service_browser_free (IntPtr handle); + + public event ServiceInfoHandler ServiceAdded + { + add { + addListeners.Add (value); + Start (); + } + remove { + addListeners.Remove (value); + Stop (false); + } + } + + public event ServiceInfoHandler ServiceRemoved + { + add { + removeListeners.Add (value); + Start (); + } + remove { + removeListeners.Remove (value); + Stop (false); + } + } + + public ServiceInfo[] Services + { + get { return (ServiceInfo[]) infos.ToArray (typeof (ServiceInfo)); } + } + + public ServiceBrowser (Client client, string type) : this (client, type, client.DomainName) + { + } + + public ServiceBrowser (Client client, string type, string domain) : this (client, -1, Protocol.Unspecified, + type, domain, LookupFlags.None) + { + } + + public ServiceBrowser (Client client, int iface, Protocol proto, string type, string domain, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.domain = domain; + this.type = type; + this.flags = flags; + cb = OnServiceBrowserCallback; + } + + ~ServiceBrowser () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero || handle != IntPtr.Zero || + (addListeners.Count == 0 && removeListeners.Count == 0)) + return; + + lock (client) { + handle = avahi_service_browser_new (client.Handle, iface, (int) proto, + Utility.StringToBytes (type), Utility.StringToBytes (domain), + flags, cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (addListeners.Count == 0 && removeListeners.Count == 0))) { + + lock (client) { + avahi_service_browser_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnServiceBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr name, IntPtr type, IntPtr domain, LookupResultFlags flags, + IntPtr userdata) + { + + ServiceInfo info; + info.NetworkInterface = iface; + info.Protocol = proto; + info.Domain = Utility.PtrToString (domain); + info.ServiceType = Utility.PtrToString (type); + info.Name = Utility.PtrToString (name); + info.HostName = null; + info.Address = null; + info.Port = 0; + info.Text = null; + info.Flags = flags; + + switch (bevent) { + case BrowserEvent.Added: + infos.Add (info); + + foreach (ServiceInfoHandler handler in addListeners) + handler (this, new ServiceInfoArgs (info)); + + break; + case BrowserEvent.Removed: + infos.Remove (info); + + foreach (ServiceInfoHandler handler in removeListeners) + handler (this, new ServiceInfoArgs (info)); + + break; + default: + EmitBrowserEvent (bevent); + break; + } + } + } +} diff --git a/trunk/avahi-sharp/ServiceResolver.cs b/trunk/avahi-sharp/ServiceResolver.cs new file mode 100644 index 0000000..945372b --- /dev/null +++ b/trunk/avahi-sharp/ServiceResolver.cs @@ -0,0 +1,224 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Collections; +using System.Net; +using System.Runtime.InteropServices; +using System.Text; +using Mono.Unix; + +namespace Avahi +{ + + internal delegate void ServiceResolverCallback (IntPtr resolver, int iface, Protocol proto, + ResolverEvent revent, IntPtr name, IntPtr type, + IntPtr domain, IntPtr host, IntPtr address, + UInt16 port, IntPtr txt, LookupResultFlags flags, + IntPtr userdata); + + public class ServiceResolver : ResolverBase, IDisposable + { + private IntPtr handle; + private ServiceInfo currentInfo; + private Client client; + private int iface; + private Protocol proto; + private string name; + private string type; + private string domain; + private Protocol aproto; + private LookupFlags flags; + private ServiceResolverCallback cb; + + private ArrayList foundListeners = new ArrayList (); + private ArrayList timeoutListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_service_resolver_new (IntPtr client, int iface, Protocol proto, + byte[] name, byte[] type, byte[] domain, + Protocol aproto, LookupFlags flags, + ServiceResolverCallback cb, + IntPtr userdata); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_string_list_get_next (IntPtr list); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_string_list_get_text (IntPtr list); + + [DllImport ("avahi-common")] + private static extern int avahi_string_list_get_size (IntPtr list); + + [DllImport ("avahi-client")] + private static extern void avahi_service_resolver_free (IntPtr handle); + + public event ServiceInfoHandler Found + { + add { + foundListeners.Add (value); + Start (); + } + remove { + foundListeners.Remove (value); + Stop (false); + } + } + + public event EventHandler Timeout + { + add { + timeoutListeners.Add (value); + Start (); + } + remove { + timeoutListeners.Remove (value); + Stop (false); + } + } + + public ServiceInfo Service + { + get { return currentInfo; } + } + + public ServiceResolver (Client client, string name, string type, string domain) : this (client, -1, + Protocol.Unspecified, + name, type, domain, + Protocol.Unspecified, + LookupFlags.None) + { + } + + public ServiceResolver (Client client, ServiceInfo service) : this (client, service.NetworkInterface, + service.Protocol, service.Name, + service.ServiceType, service.Domain, + Protocol.Unspecified, + GetLookupFlags (service.Flags)) + { + } + + public ServiceResolver (Client client, int iface, Protocol proto, string name, + string type, string domain, Protocol aproto, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.name = name; + this.type = type; + this.domain = domain; + this.aproto = aproto; + this.flags = flags; + cb = OnServiceResolverCallback; + } + + ~ServiceResolver () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero || handle != IntPtr.Zero || + (foundListeners.Count == 0 && timeoutListeners.Count == 0)) + return; + + lock (client) { + handle = avahi_service_resolver_new (client.Handle, iface, proto, + Utility.StringToBytes (name), Utility.StringToBytes (type), + Utility.StringToBytes (domain), aproto, flags, cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (foundListeners.Count == 0 && timeoutListeners.Count == 0))) { + + lock (client) { + avahi_service_resolver_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnServiceResolverCallback (IntPtr resolver, int iface, Protocol proto, + ResolverEvent revent, IntPtr name, IntPtr type, + IntPtr domain, IntPtr host, IntPtr address, + UInt16 port, IntPtr txt, LookupResultFlags flags, + IntPtr userdata) + { + ServiceInfo info; + info.NetworkInterface = iface; + info.Protocol = proto; + info.Domain = Utility.PtrToString (domain); + info.ServiceType = Utility.PtrToString (type); + info.Name = Utility.PtrToString (name); + info.HostName = Utility.PtrToString (host); + info.Address = Utility.PtrToAddress (address); + info.Port = port; + + ArrayList txtlist = new ArrayList (); + for (IntPtr l = txt; l != IntPtr.Zero; l = avahi_string_list_get_next (l)) { + IntPtr buf = avahi_string_list_get_text (l); + int len = avahi_string_list_get_size (l); + + byte[] txtbuf = new byte[len]; + Marshal.Copy (buf, txtbuf, 0, len); + txtlist.Add (txtbuf); + } + + info.Text = (byte[][]) txtlist.ToArray (typeof (byte[])); + info.Flags = flags; + + switch (revent) { + case ResolverEvent.Found: + currentInfo = info; + + foreach (ServiceInfoHandler handler in foundListeners) + handler (this, new ServiceInfoArgs (info)); + break; + case ResolverEvent.Failure: + EmitFailure (client.LastError); + break; + } + } + + private static LookupFlags GetLookupFlags (LookupResultFlags rflags) { + LookupFlags ret = LookupFlags.None; + + if ((rflags & LookupResultFlags.Multicast) > 0) + ret |= LookupFlags.UseMulticast; + if ((rflags & LookupResultFlags.WideArea) > 0) + ret |= LookupFlags.UseWideArea; + + return ret; + } + } +} diff --git a/trunk/avahi-sharp/ServiceTypeBrowser.cs b/trunk/avahi-sharp/ServiceTypeBrowser.cs new file mode 100644 index 0000000..3796d60 --- /dev/null +++ b/trunk/avahi-sharp/ServiceTypeBrowser.cs @@ -0,0 +1,199 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Collections; +using System.Runtime.InteropServices; +using System.Text; + +namespace Avahi +{ + internal delegate void ServiceTypeBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr type, IntPtr domain, LookupResultFlags flags, + IntPtr userdata); + + public struct ServiceTypeInfo + { + public int NetworkInterface; + public Protocol Protocol; + public string Domain; + public string ServiceType; + public LookupResultFlags Flags; + } + + 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 + { + private IntPtr handle; + private ArrayList infos = new ArrayList (); + private Client client; + private int iface; + private Protocol proto; + private string domain; + private LookupFlags flags; + private ServiceTypeBrowserCallback cb; + + private ArrayList addListeners = new ArrayList (); + private ArrayList removeListeners = new ArrayList (); + + [DllImport ("avahi-client")] + private static extern IntPtr avahi_service_type_browser_new (IntPtr client, int iface, int proto, + byte[] domain, LookupFlags flags, + ServiceTypeBrowserCallback cb, + IntPtr userdata); + + [DllImport ("avahi-client")] + private static extern void avahi_service_type_browser_free (IntPtr handle); + + public event ServiceTypeInfoHandler ServiceTypeAdded + { + add { + addListeners.Add (value); + Start (); + } + remove { + addListeners.Remove (value); + Stop (false); + } + } + + public event ServiceTypeInfoHandler ServiceTypeRemoved + { + add { + removeListeners.Add (value); + Start (); + } + remove { + removeListeners.Remove (value); + Stop (false); + } + } + + public ServiceTypeInfo[] ServiceTypes + { + get { return (ServiceTypeInfo[]) infos.ToArray (typeof (ServiceTypeInfo)); } + } + + public ServiceTypeBrowser (Client client) : this (client, client.DomainName) + { + } + + public ServiceTypeBrowser (Client client, string domain) : this (client, -1, Protocol.Unspecified, + domain, LookupFlags.None) + { + } + + public ServiceTypeBrowser (Client client, int iface, Protocol proto, string domain, LookupFlags flags) + { + this.client = client; + this.iface = iface; + this.proto = proto; + this.domain = domain; + this.flags = flags; + cb = OnServiceTypeBrowserCallback; + } + + ~ServiceTypeBrowser () + { + Dispose (); + } + + public void Dispose () + { + Stop (true); + } + + private void Start () + { + if (client.Handle == IntPtr.Zero || handle != IntPtr.Zero || + (addListeners.Count == 0 && removeListeners.Count == 0)) + return; + + lock (client) { + handle = avahi_service_type_browser_new (client.Handle, iface, (int) proto, + Utility.StringToBytes (domain), flags, + cb, IntPtr.Zero); + + if (handle == IntPtr.Zero) + client.ThrowError (); + } + } + + private void Stop (bool force) + { + if (client.Handle != IntPtr.Zero && handle != IntPtr.Zero && + (force || (addListeners.Count == 0 && removeListeners.Count == 0))) { + + lock (client) { + avahi_service_type_browser_free (handle); + handle = IntPtr.Zero; + } + } + } + + private void OnServiceTypeBrowserCallback (IntPtr browser, int iface, Protocol proto, BrowserEvent bevent, + IntPtr type, IntPtr domain, LookupResultFlags flags, + IntPtr userdata) + { + + ServiceTypeInfo info; + info.NetworkInterface = iface; + info.Protocol = proto; + info.Domain = Utility.PtrToString (domain); + info.ServiceType = Utility.PtrToString (type); + info.Flags = flags; + + switch (bevent) { + case BrowserEvent.Added: + infos.Add (info); + + foreach (ServiceTypeInfoHandler handler in addListeners) + handler (this, new ServiceTypeInfoArgs (info)); + break; + case BrowserEvent.Removed: + infos.Remove (info); + + foreach (ServiceTypeInfoHandler handler in removeListeners) + handler (this, new ServiceTypeInfoArgs (info)); + break; + default: + EmitBrowserEvent (bevent); + break; + } + } + } +} diff --git a/trunk/avahi-sharp/Utility.cs b/trunk/avahi-sharp/Utility.cs new file mode 100644 index 0000000..9081b01 --- /dev/null +++ b/trunk/avahi-sharp/Utility.cs @@ -0,0 +1,114 @@ +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +using System; +using System.Net; +using System.Text; +using System.Runtime.InteropServices; +using Mono.Unix; +using Mono.Unix.Native; + +using Stdlib = Mono.Unix.Native.Stdlib; + +namespace Avahi +{ + internal class Utility + { + [DllImport ("libc")] + private static extern int strlen (IntPtr ptr); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_address_snprint (IntPtr buf, int size, IntPtr address); + + [DllImport ("avahi-common")] + private static extern IntPtr avahi_address_parse (IntPtr str, Protocol proto, IntPtr ret); + + public static string PtrToString (IntPtr ptr) + { + if (ptr == IntPtr.Zero) + return null; + + int len = strlen (ptr); + byte[] bytes = new byte[len]; + Marshal.Copy (ptr, bytes, 0, len); + return Encoding.UTF8.GetString (bytes); + } + + public static string PtrToStringFree (IntPtr ptr) + { + if (ptr == IntPtr.Zero) + return null; + + string ret = PtrToString (ptr); + Free (ptr); + return ret; + } + + public static byte[] StringToBytes (string str) + { + if (str == null) + return null; + + return Encoding.UTF8.GetBytes (str + "\0"); // lame. + } + + private static IntPtr StringToPtr (string str) + { + if (str == null) + return IntPtr.Zero; + + byte[] bytes = Utility.StringToBytes (str); + IntPtr buf = Stdlib.malloc ((uint) bytes.Length + 1); + Marshal.Copy (bytes, 0, buf, bytes.Length); + Marshal.WriteByte (buf, bytes.Length, 0); + return buf; + } + + public static void Free (IntPtr ptr) + { + Stdlib.free (ptr); + } + + public static IntPtr AddressToPtr (IPAddress address) + { + IntPtr straddr = Utility.StringToPtr (address.ToString ()); + IntPtr addrPtr = Stdlib.malloc (32); + avahi_address_parse (straddr, Protocol.Unspecified, addrPtr); + Utility.Free (straddr); + + return addrPtr; + } + + public static IPAddress PtrToAddress (IntPtr ptr) + { + IPAddress address = null; + + if (ptr != IntPtr.Zero) { + IntPtr buf = Stdlib.malloc (256); + IntPtr addrPtr = avahi_address_snprint (buf, 256, ptr); + address = IPAddress.Parse (Utility.PtrToString (addrPtr)); + Utility.Free (addrPtr); + } + + return address; + } + } +} diff --git a/trunk/avahi-sharp/avahi-sharp-docs.source b/trunk/avahi-sharp/avahi-sharp-docs.source new file mode 100644 index 0000000..f3b3c75 --- /dev/null +++ b/trunk/avahi-sharp/avahi-sharp-docs.source @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<monodoc> + <source provider="ecma" basefile="avahi-sharp-docs" path="various" title="Avahi" /> +</monodoc> diff --git a/trunk/avahi-sharp/avahi-sharp.dll.config.in b/trunk/avahi-sharp/avahi-sharp.dll.config.in new file mode 100644 index 0000000..5bae58f --- /dev/null +++ b/trunk/avahi-sharp/avahi-sharp.dll.config.in @@ -0,0 +1,5 @@ +<configuration> + <dllmap dll="avahi-client" target="@CLIENT_DLNAME@"/> + <dllmap dll="avahi-common" target="@COMMON_DLNAME@"/> + <dllmap dll="avahi-glib" target="@GLIB_DLNAME@"/> +</configuration> diff --git a/trunk/avahi-sharp/avahi.snk b/trunk/avahi-sharp/avahi.snk Binary files differnew file mode 100644 index 0000000..58c23bc --- /dev/null +++ b/trunk/avahi-sharp/avahi.snk diff --git a/trunk/avahi-sharp/en/Avahi.xml b/trunk/avahi-sharp/en/Avahi.xml new file mode 100644 index 0000000..0739013 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi.xml @@ -0,0 +1,6 @@ +<Namespace Name="Avahi"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/trunk/avahi-sharp/en/Avahi/AddressResolver.xml b/trunk/avahi-sharp/en/Avahi/AddressResolver.xml new file mode 100644 index 0000000..064e505 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/AddressResolver.xml @@ -0,0 +1,113 @@ +<Type Name="AddressResolver" FullName="Avahi.AddressResolver"> + <TypeSignature Language="C#" Value="public class AddressResolver : Avahi.ResolverBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.ResolverBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public AddressResolver (Avahi.Client client, System.Net.IPAddress address);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="address" Type="System.Net.IPAddress" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="address">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Found"> + <MemberSignature Language="C#" Value="public event Avahi.HostAddressHandler Found;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.HostAddressHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Timeout"> + <MemberSignature Language="C#" Value="public event EventHandler Timeout;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>System.EventHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Address"> + <MemberSignature Language="C#" Value="public System.Net.IPAddress Address { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.Net.IPAddress</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HostName"> + <MemberSignature Language="C#" Value="public string HostName { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public AddressResolver (Avahi.Client client, int iface, Avahi.Protocol proto, System.Net.IPAddress address, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="address" Type="System.Net.IPAddress" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="address">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/BrowserBase.xml b/trunk/avahi-sharp/en/Avahi/BrowserBase.xml new file mode 100644 index 0000000..fa6d2ad --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/BrowserBase.xml @@ -0,0 +1,59 @@ +<Type Name="BrowserBase" FullName="Avahi.BrowserBase"> + <TypeSignature Language="C#" Value="public abstract class BrowserBase" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="protected BrowserBase ();" /> + <MemberType>Constructor</MemberType> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="CacheExhausted"> + <MemberSignature Language="C#" Value="public event EventHandler CacheExhausted;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>System.EventHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AllForNow"> + <MemberSignature Language="C#" Value="public event EventHandler AllForNow;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>System.EventHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Failed"> + <MemberSignature Language="C#" Value="public event EventHandler Failed;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>System.EventHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/Client.xml b/trunk/avahi-sharp/en/Avahi/Client.xml new file mode 100644 index 0000000..0abecf7 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/Client.xml @@ -0,0 +1,178 @@ +<Type Name="Client" FullName="Avahi.Client"> + <TypeSignature Language="C#" Value="public class Client : System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Client ();" /> + <MemberType>Constructor</MemberType> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="StateChanged"> + <MemberSignature Language="C#" Value="public event Avahi.ClientStateHandler StateChanged;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientStateHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Version"> + <MemberSignature Language="C#" Value="public string Version { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HostName"> + <MemberSignature Language="C#" Value="public string HostName { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DomainName"> + <MemberSignature Language="C#" Value="public string DomainName { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HostNameFqdn"> + <MemberSignature Language="C#" Value="public string HostNameFqdn { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="State"> + <MemberSignature Language="C#" Value="public Avahi.ClientState State { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="LocalServiceCookie"> + <MemberSignature Language="C#" Value="public uint LocalServiceCookie { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.UInt32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Client (Avahi.ClientFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="flags" Type="Avahi.ClientFlags" /> + </Parameters> + <Docs> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="JoinServiceName"> + <MemberSignature Language="C#" Value="public static string JoinServiceName (string name, string type, string domain);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="SplitServiceName"> + <MemberSignature Language="C#" Value="public static void SplitServiceName (string service, out string name, out string type, out string domain);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="service" Type="System.String" /> + <Parameter Name="name" Type="System.String&" RefType="out" /> + <Parameter Name="type" Type="System.String&" RefType="out" /> + <Parameter Name="domain" Type="System.String&" RefType="out" /> + </Parameters> + <Docs> + <param name="service">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ClientException.xml b/trunk/avahi-sharp/en/Avahi/ClientException.xml new file mode 100644 index 0000000..3b8319b --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ClientException.xml @@ -0,0 +1,29 @@ +<Type Name="ClientException" FullName="Avahi.ClientException"> + <TypeSignature Language="C#" Value="public class ClientException : System.ApplicationException" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.ApplicationException</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName="ErrorCode"> + <MemberSignature Language="C#" Value="public Avahi.ErrorCode ErrorCode { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ClientFlags.xml b/trunk/avahi-sharp/en/Avahi/ClientFlags.xml new file mode 100644 index 0000000..d4ea291 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ClientFlags.xml @@ -0,0 +1,51 @@ +<Type Name="ClientFlags" FullName="Avahi.ClientFlags"> + <TypeSignature Language="C#" Value="public enum ClientFlags" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Members> + <Member MemberName="NoFail"> + <MemberSignature Language="C#" Value="NoFail" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="None"> + <MemberSignature Language="C#" Value="None" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="IgnoreUserConfig"> + <MemberSignature Language="C#" Value="IgnoreUserConfig" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ClientState.xml b/trunk/avahi-sharp/en/Avahi/ClientState.xml new file mode 100644 index 0000000..c20a02b --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ClientState.xml @@ -0,0 +1,66 @@ +<Type Name="ClientState" FullName="Avahi.ClientState"> + <TypeSignature Language="C#" Value="public enum ClientState" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="Collision"> + <MemberSignature Language="C#" Value="Collision" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Registering"> + <MemberSignature Language="C#" Value="Registering" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Running"> + <MemberSignature Language="C#" Value="Running" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Connecting"> + <MemberSignature Language="C#" Value="Connecting" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Failure"> + <MemberSignature Language="C#" Value="Failure" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ClientStateArgs.xml b/trunk/avahi-sharp/en/Avahi/ClientStateArgs.xml new file mode 100644 index 0000000..e5da11d --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ClientStateArgs.xml @@ -0,0 +1,41 @@ +<Type Name="ClientStateArgs" FullName="Avahi.ClientStateArgs"> + <TypeSignature Language="C#" Value="public class ClientStateArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ClientStateArgs (Avahi.ClientState state);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="state" Type="Avahi.ClientState" /> + </Parameters> + <Docs> + <param name="state">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="State"> + <MemberSignature Language="C#" Value="public Avahi.ClientState State { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ClientState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ClientStateHandler.xml b/trunk/avahi-sharp/en/Avahi/ClientStateHandler.xml new file mode 100644 index 0000000..0576975 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ClientStateHandler.xml @@ -0,0 +1,23 @@ +<Type Name="ClientStateHandler" FullName="Avahi.ClientStateHandler"> + <TypeSignature Language="C#" Value="public delegate void ClientStateHandler(object o, Avahi.ClientStateArgs state);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="state" Type="Avahi.ClientStateArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="state">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/DomainBrowser.xml b/trunk/avahi-sharp/en/Avahi/DomainBrowser.xml new file mode 100644 index 0000000..20536e0 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/DomainBrowser.xml @@ -0,0 +1,101 @@ +<Type Name="DomainBrowser" FullName="Avahi.DomainBrowser"> + <TypeSignature Language="C#" Value="public class DomainBrowser : Avahi.BrowserBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.BrowserBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public DomainBrowser (Avahi.Client client);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DomainAdded"> + <MemberSignature Language="C#" Value="public event Avahi.DomainInfoHandler DomainAdded;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DomainRemoved"> + <MemberSignature Language="C#" Value="public event Avahi.DomainInfoHandler DomainRemoved;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Domains"> + <MemberSignature Language="C#" Value="public Avahi.DomainInfo[] Domains { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainInfo[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public DomainBrowser (Avahi.Client client, int iface, Avahi.Protocol proto, string domain, Avahi.DomainBrowserType btype, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="btype" Type="Avahi.DomainBrowserType" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="domain">To be added.</param> + <param name="btype">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/DomainBrowserType.xml b/trunk/avahi-sharp/en/Avahi/DomainBrowserType.xml new file mode 100644 index 0000000..9743524 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/DomainBrowserType.xml @@ -0,0 +1,66 @@ +<Type Name="DomainBrowserType" FullName="Avahi.DomainBrowserType"> + <TypeSignature Language="C#" Value="public enum DomainBrowserType" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="RegisterDefault"> + <MemberSignature Language="C#" Value="RegisterDefault" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainBrowserType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="BrowseDefault"> + <MemberSignature Language="C#" Value="BrowseDefault" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainBrowserType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Register"> + <MemberSignature Language="C#" Value="Register" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainBrowserType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="BrowseLegacy"> + <MemberSignature Language="C#" Value="BrowseLegacy" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainBrowserType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Browse"> + <MemberSignature Language="C#" Value="Browse" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainBrowserType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/DomainInfo.xml b/trunk/avahi-sharp/en/Avahi/DomainInfo.xml new file mode 100644 index 0000000..dddfd60 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/DomainInfo.xml @@ -0,0 +1,61 @@ +<Type Name="DomainInfo" FullName="Avahi.DomainInfo"> + <TypeSignature Language="C#" Value="public struct DomainInfo" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.ValueType</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName="NetworkInterface"> + <MemberSignature Language="C#" Value="public int NetworkInterface;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Protocol"> + <MemberSignature Language="C#" Value="public Avahi.Protocol Protocol;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Domain"> + <MemberSignature Language="C#" Value="public string Domain;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Flags"> + <MemberSignature Language="C#" Value="public Avahi.LookupResultFlags Flags;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/DomainInfoArgs.xml b/trunk/avahi-sharp/en/Avahi/DomainInfoArgs.xml new file mode 100644 index 0000000..1967447 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/DomainInfoArgs.xml @@ -0,0 +1,41 @@ +<Type Name="DomainInfoArgs" FullName="Avahi.DomainInfoArgs"> + <TypeSignature Language="C#" Value="public class DomainInfoArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public DomainInfoArgs (Avahi.DomainInfo domain);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="domain" Type="Avahi.DomainInfo" /> + </Parameters> + <Docs> + <param name="domain">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Domain"> + <MemberSignature Language="C#" Value="public Avahi.DomainInfo Domain { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.DomainInfo</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/DomainInfoHandler.xml b/trunk/avahi-sharp/en/Avahi/DomainInfoHandler.xml new file mode 100644 index 0000000..793e2b7 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/DomainInfoHandler.xml @@ -0,0 +1,23 @@ +<Type Name="DomainInfoHandler" FullName="Avahi.DomainInfoHandler"> + <TypeSignature Language="C#" Value="public delegate void DomainInfoHandler(object o, Avahi.DomainInfoArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.DomainInfoArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/EntryGroup.xml b/trunk/avahi-sharp/en/Avahi/EntryGroup.xml new file mode 100644 index 0000000..93fec22 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/EntryGroup.xml @@ -0,0 +1,491 @@ +<Type Name="EntryGroup" FullName="Avahi.EntryGroup"> + <TypeSignature Language="C#" Value="public class EntryGroup : System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public EntryGroup (Avahi.Client client);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="StateChanged"> + <MemberSignature Language="C#" Value="public event Avahi.EntryGroupStateHandler StateChanged;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupStateHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Commit"> + <MemberSignature Language="C#" Value="public void Commit ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Reset"> + <MemberSignature Language="C#" Value="public void Reset ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddService"> + <MemberSignature Language="C#" Value="public void AddService (string name, string type, string domain, ushort port, string[] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="port" Type="System.UInt16" /> + <Parameter Name="txt" Type="System.String[]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="port">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="State"> + <MemberSignature Language="C#" Value="public Avahi.EntryGroupState State { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="IsEmpty"> + <MemberSignature Language="C#" Value="public bool IsEmpty { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="GetAlternativeServiceName"> + <MemberSignature Language="C#" Value="public static string GetAlternativeServiceName (string name);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddService"> + <MemberSignature Language="C#" Value="public void AddService (Avahi.PublishFlags flags, string name, string type, string domain, ushort port, string[] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="port" Type="System.UInt16" /> + <Parameter Name="txt" Type="System.String[]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="port">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddService"> + <MemberSignature Language="C#" Value="public void AddService (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, string type, string domain, string host, ushort port, string[] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="host" Type="System.String" /> + <Parameter Name="port" Type="System.UInt16" /> + <Parameter Name="txt" Type="System.String[]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="host">To be added.</param> + <param name="port">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="UpdateService"> + <MemberSignature Language="C#" Value="public void UpdateService (string name, string type, string domain, string[] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="txt" Type="System.String[]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="UpdateService"> + <MemberSignature Language="C#" Value="public void UpdateService (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, string type, string domain, string[] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="txt" Type="System.String[]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddServiceSubtype"> + <MemberSignature Language="C#" Value="public void AddServiceSubtype (string name, string type, string domain, string subtype);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="subtype" Type="System.String" /> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="subtype">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddServiceSubtype"> + <MemberSignature Language="C#" Value="public void AddServiceSubtype (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, string type, string domain, string subtype);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="subtype" Type="System.String" /> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="subtype">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddAddress"> + <MemberSignature Language="C#" Value="public void AddAddress (string name, System.Net.IPAddress address);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="address" Type="System.Net.IPAddress" /> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <param name="address">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddAddress"> + <MemberSignature Language="C#" Value="public void AddAddress (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, System.Net.IPAddress address);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="address" Type="System.Net.IPAddress" /> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="address">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddRecord"> + <MemberSignature Language="C#" Value="public void AddRecord (string name, Avahi.RecordClass clazz, Avahi.RecordType type, uint ttl, byte[] rdata, int length);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="clazz" Type="Avahi.RecordClass" /> + <Parameter Name="type" Type="Avahi.RecordType" /> + <Parameter Name="ttl" Type="System.UInt32" /> + <Parameter Name="rdata" Type="System.Byte[]" /> + <Parameter Name="length" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="name">To be added.</param> + <param name="clazz">To be added.</param> + <param name="type">To be added.</param> + <param name="ttl">To be added.</param> + <param name="rdata">To be added.</param> + <param name="length">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddRecord"> + <MemberSignature Language="C#" Value="public void AddRecord (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, Avahi.RecordClass clazz, Avahi.RecordType type, uint ttl, byte[] rdata, int length);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="clazz" Type="Avahi.RecordClass" /> + <Parameter Name="type" Type="Avahi.RecordType" /> + <Parameter Name="ttl" Type="System.UInt32" /> + <Parameter Name="rdata" Type="System.Byte[]" /> + <Parameter Name="length" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="clazz">To be added.</param> + <param name="type">To be added.</param> + <param name="ttl">To be added.</param> + <param name="rdata">To be added.</param> + <param name="length">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AddService"> + <MemberSignature Language="C#" Value="public void AddService (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, string type, string domain, string host, ushort port, byte[][] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="host" Type="System.String" /> + <Parameter Name="port" Type="System.UInt16" /> + <Parameter Name="txt" Type="System.Byte[][]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="host">To be added.</param> + <param name="port">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="UpdateService"> + <MemberSignature Language="C#" Value="public void UpdateService (int iface, Avahi.Protocol proto, Avahi.PublishFlags flags, string name, string type, string domain, byte[][] txt);" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.PublishFlags" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="txt" Type="System.Byte[][]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="flags">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="txt">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/EntryGroupState.xml b/trunk/avahi-sharp/en/Avahi/EntryGroupState.xml new file mode 100644 index 0000000..c01e1df --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/EntryGroupState.xml @@ -0,0 +1,66 @@ +<Type Name="EntryGroupState" FullName="Avahi.EntryGroupState"> + <TypeSignature Language="C#" Value="public enum EntryGroupState" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="Collision"> + <MemberSignature Language="C#" Value="Collision" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Registering"> + <MemberSignature Language="C#" Value="Registering" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Uncommited"> + <MemberSignature Language="C#" Value="Uncommited" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Established"> + <MemberSignature Language="C#" Value="Established" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Failure"> + <MemberSignature Language="C#" Value="Failure" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/EntryGroupStateArgs.xml b/trunk/avahi-sharp/en/Avahi/EntryGroupStateArgs.xml new file mode 100644 index 0000000..c7d6f8c --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/EntryGroupStateArgs.xml @@ -0,0 +1,41 @@ +<Type Name="EntryGroupStateArgs" FullName="Avahi.EntryGroupStateArgs"> + <TypeSignature Language="C#" Value="public class EntryGroupStateArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public EntryGroupStateArgs (Avahi.EntryGroupState state);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="state" Type="Avahi.EntryGroupState" /> + </Parameters> + <Docs> + <param name="state">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="State"> + <MemberSignature Language="C#" Value="public Avahi.EntryGroupState State { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.EntryGroupState</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/EntryGroupStateHandler.xml b/trunk/avahi-sharp/en/Avahi/EntryGroupStateHandler.xml new file mode 100644 index 0000000..427c519 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/EntryGroupStateHandler.xml @@ -0,0 +1,23 @@ +<Type Name="EntryGroupStateHandler" FullName="Avahi.EntryGroupStateHandler"> + <TypeSignature Language="C#" Value="public delegate void EntryGroupStateHandler(object o, Avahi.EntryGroupStateArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.EntryGroupStateArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ErrorCode.xml b/trunk/avahi-sharp/en/Avahi/ErrorCode.xml new file mode 100644 index 0000000..687f524 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ErrorCode.xml @@ -0,0 +1,526 @@ +<Type Name="ErrorCode" FullName="Avahi.ErrorCode"> + <TypeSignature Language="C#" Value="public enum ErrorCode" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="TooManyEntries"> + <MemberSignature Language="C#" Value="TooManyEntries" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="AccessDenied"> + <MemberSignature Language="C#" Value="AccessDenied" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NotFound"> + <MemberSignature Language="C#" Value="NotFound" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="TooManyClients"> + <MemberSignature Language="C#" Value="TooManyClients" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsYxRrSet"> + <MemberSignature Language="C#" Value="DnsYxRrSet" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidFlags"> + <MemberSignature Language="C#" Value="InvalidFlags" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="BadState"> + <MemberSignature Language="C#" Value="BadState" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsNxDomain"> + <MemberSignature Language="C#" Value="DnsNxDomain" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="TooManyObjects"> + <MemberSignature Language="C#" Value="TooManyObjects" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidObject"> + <MemberSignature Language="C#" Value="InvalidObject" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsServFail"> + <MemberSignature Language="C#" Value="DnsServFail" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Disconnected"> + <MemberSignature Language="C#" Value="Disconnected" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidPort"> + <MemberSignature Language="C#" Value="InvalidPort" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Collision"> + <MemberSignature Language="C#" Value="Collision" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidTTL"> + <MemberSignature Language="C#" Value="InvalidTTL" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoNetwork"> + <MemberSignature Language="C#" Value="NoNetwork" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidOperation"> + <MemberSignature Language="C#" Value="InvalidOperation" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NotPermitted"> + <MemberSignature Language="C#" Value="NotPermitted" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidDnsType"> + <MemberSignature Language="C#" Value="InvalidDnsType" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidDnsError"> + <MemberSignature Language="C#" Value="InvalidDnsError" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsNotAuth"> + <MemberSignature Language="C#" Value="DnsNotAuth" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidProtocol"> + <MemberSignature Language="C#" Value="InvalidProtocol" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidConfig"> + <MemberSignature Language="C#" Value="InvalidConfig" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsNotZone"> + <MemberSignature Language="C#" Value="DnsNotZone" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Ok"> + <MemberSignature Language="C#" Value="Ok" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidServiceSubtype"> + <MemberSignature Language="C#" Value="InvalidServiceSubtype" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsNxRrSet"> + <MemberSignature Language="C#" Value="DnsNxRrSet" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidServiceType"> + <MemberSignature Language="C#" Value="InvalidServiceType" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsFormErr"> + <MemberSignature Language="C#" Value="DnsFormErr" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="IsPattern"> + <MemberSignature Language="C#" Value="IsPattern" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidPacket"> + <MemberSignature Language="C#" Value="InvalidPacket" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidRecord"> + <MemberSignature Language="C#" Value="InvalidRecord" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidKey"> + <MemberSignature Language="C#" Value="InvalidKey" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidRData"> + <MemberSignature Language="C#" Value="InvalidRData" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="VersionMismatch"> + <MemberSignature Language="C#" Value="VersionMismatch" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsRefused"> + <MemberSignature Language="C#" Value="DnsRefused" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidServiceName"> + <MemberSignature Language="C#" Value="InvalidServiceName" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidHostName"> + <MemberSignature Language="C#" Value="InvalidHostName" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidAddress"> + <MemberSignature Language="C#" Value="InvalidAddress" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoDaemon"> + <MemberSignature Language="C#" Value="NoDaemon" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidInterface"> + <MemberSignature Language="C#" Value="InvalidInterface" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Failure"> + <MemberSignature Language="C#" Value="Failure" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsYxDomain"> + <MemberSignature Language="C#" Value="DnsYxDomain" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NotSupported"> + <MemberSignature Language="C#" Value="NotSupported" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoMemory"> + <MemberSignature Language="C#" Value="NoMemory" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Timeout"> + <MemberSignature Language="C#" Value="Timeout" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidDnsClass"> + <MemberSignature Language="C#" Value="InvalidDnsClass" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DBusError"> + <MemberSignature Language="C#" Value="DBusError" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="DnsNoTimp"> + <MemberSignature Language="C#" Value="DnsNoTimp" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="OS"> + <MemberSignature Language="C#" Value="OS" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="InvalidDomainName"> + <MemberSignature Language="C#" Value="InvalidDomainName" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ErrorCodeArgs.xml b/trunk/avahi-sharp/en/Avahi/ErrorCodeArgs.xml new file mode 100644 index 0000000..c8a7ccc --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ErrorCodeArgs.xml @@ -0,0 +1,41 @@ +<Type Name="ErrorCodeArgs" FullName="Avahi.ErrorCodeArgs"> + <TypeSignature Language="C#" Value="public class ErrorCodeArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ErrorCodeArgs (Avahi.ErrorCode code);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="code" Type="Avahi.ErrorCode" /> + </Parameters> + <Docs> + <param name="code">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ErrorCode"> + <MemberSignature Language="C#" Value="public Avahi.ErrorCode ErrorCode { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCode</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ErrorCodeHandler.xml b/trunk/avahi-sharp/en/Avahi/ErrorCodeHandler.xml new file mode 100644 index 0000000..04e22d3 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ErrorCodeHandler.xml @@ -0,0 +1,23 @@ +<Type Name="ErrorCodeHandler" FullName="Avahi.ErrorCodeHandler"> + <TypeSignature Language="C#" Value="public delegate void ErrorCodeHandler(object o, Avahi.ErrorCodeArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.ErrorCodeArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/HostAddressArgs.xml b/trunk/avahi-sharp/en/Avahi/HostAddressArgs.xml new file mode 100644 index 0000000..2b126e3 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/HostAddressArgs.xml @@ -0,0 +1,55 @@ +<Type Name="HostAddressArgs" FullName="Avahi.HostAddressArgs"> + <TypeSignature Language="C#" Value="public class HostAddressArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public HostAddressArgs (string host, System.Net.IPAddress address);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="host" Type="System.String" /> + <Parameter Name="address" Type="System.Net.IPAddress" /> + </Parameters> + <Docs> + <param name="host">To be added.</param> + <param name="address">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Host"> + <MemberSignature Language="C#" Value="public string Host { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Address"> + <MemberSignature Language="C#" Value="public System.Net.IPAddress Address { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.Net.IPAddress</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/HostAddressHandler.xml b/trunk/avahi-sharp/en/Avahi/HostAddressHandler.xml new file mode 100644 index 0000000..f0c195e --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/HostAddressHandler.xml @@ -0,0 +1,23 @@ +<Type Name="HostAddressHandler" FullName="Avahi.HostAddressHandler"> + <TypeSignature Language="C#" Value="public delegate void HostAddressHandler(object o, Avahi.HostAddressArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.HostAddressArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/HostNameResolver.xml b/trunk/avahi-sharp/en/Avahi/HostNameResolver.xml new file mode 100644 index 0000000..37124fd --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/HostNameResolver.xml @@ -0,0 +1,115 @@ +<Type Name="HostNameResolver" FullName="Avahi.HostNameResolver"> + <TypeSignature Language="C#" Value="public class HostNameResolver : Avahi.ResolverBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.ResolverBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public HostNameResolver (Avahi.Client client, string hostname);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="hostname" Type="System.String" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="hostname">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Found"> + <MemberSignature Language="C#" Value="public event Avahi.HostAddressHandler Found;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.HostAddressHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Timeout"> + <MemberSignature Language="C#" Value="public event EventHandler Timeout;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>System.EventHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Address"> + <MemberSignature Language="C#" Value="public System.Net.IPAddress Address { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.Net.IPAddress</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HostName"> + <MemberSignature Language="C#" Value="public string HostName { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public HostNameResolver (Avahi.Client client, int iface, Avahi.Protocol proto, string hostname, Avahi.Protocol aproto, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="hostname" Type="System.String" /> + <Parameter Name="aproto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="hostname">To be added.</param> + <param name="aproto">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/LookupFlags.xml b/trunk/avahi-sharp/en/Avahi/LookupFlags.xml new file mode 100644 index 0000000..d7882e0 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/LookupFlags.xml @@ -0,0 +1,71 @@ +<Type Name="LookupFlags" FullName="Avahi.LookupFlags"> + <TypeSignature Language="C#" Value="public enum LookupFlags" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Members> + <Member MemberName="UseMulticast"> + <MemberSignature Language="C#" Value="UseMulticast" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="UseWideArea"> + <MemberSignature Language="C#" Value="UseWideArea" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoAddress"> + <MemberSignature Language="C#" Value="NoAddress" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="None"> + <MemberSignature Language="C#" Value="None" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoTxt"> + <MemberSignature Language="C#" Value="NoTxt" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/LookupResultFlags.xml b/trunk/avahi-sharp/en/Avahi/LookupResultFlags.xml new file mode 100644 index 0000000..0066493 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/LookupResultFlags.xml @@ -0,0 +1,81 @@ +<Type Name="LookupResultFlags" FullName="Avahi.LookupResultFlags"> + <TypeSignature Language="C#" Value="public enum LookupResultFlags" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Members> + <Member MemberName="Multicast"> + <MemberSignature Language="C#" Value="Multicast" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="WideArea"> + <MemberSignature Language="C#" Value="WideArea" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Cached"> + <MemberSignature Language="C#" Value="Cached" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="None"> + <MemberSignature Language="C#" Value="None" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Local"> + <MemberSignature Language="C#" Value="Local" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="OurOwn"> + <MemberSignature Language="C#" Value="OurOwn" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/Protocol.xml b/trunk/avahi-sharp/en/Avahi/Protocol.xml new file mode 100644 index 0000000..361f034 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/Protocol.xml @@ -0,0 +1,46 @@ +<Type Name="Protocol" FullName="Avahi.Protocol"> + <TypeSignature Language="C#" Value="public enum Protocol" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="IPv4"> + <MemberSignature Language="C#" Value="IPv4" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Unspecified"> + <MemberSignature Language="C#" Value="Unspecified" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="IPv6"> + <MemberSignature Language="C#" Value="IPv6" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/PublishFlags.xml b/trunk/avahi-sharp/en/Avahi/PublishFlags.xml new file mode 100644 index 0000000..c21774c --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/PublishFlags.xml @@ -0,0 +1,121 @@ +<Type Name="PublishFlags" FullName="Avahi.PublishFlags"> + <TypeSignature Language="C#" Value="public enum PublishFlags" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Members> + <Member MemberName="UseMulticast"> + <MemberSignature Language="C#" Value="UseMulticast" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Update"> + <MemberSignature Language="C#" Value="Update" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="AllowMultiple"> + <MemberSignature Language="C#" Value="AllowMultiple" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="UseWideArea"> + <MemberSignature Language="C#" Value="UseWideArea" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Unique"> + <MemberSignature Language="C#" Value="Unique" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoReverse"> + <MemberSignature Language="C#" Value="NoReverse" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="None"> + <MemberSignature Language="C#" Value="None" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoCookie"> + <MemberSignature Language="C#" Value="NoCookie" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoProbe"> + <MemberSignature Language="C#" Value="NoProbe" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="NoAnnounce"> + <MemberSignature Language="C#" Value="NoAnnounce" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.PublishFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/RecordBrowser.xml b/trunk/avahi-sharp/en/Avahi/RecordBrowser.xml new file mode 100644 index 0000000..fdf32ca --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/RecordBrowser.xml @@ -0,0 +1,107 @@ +<Type Name="RecordBrowser" FullName="Avahi.RecordBrowser"> + <TypeSignature Language="C#" Value="public class RecordBrowser : Avahi.BrowserBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.BrowserBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public RecordBrowser (Avahi.Client client, string name, Avahi.RecordType type);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="Avahi.RecordType" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public RecordBrowser (Avahi.Client client, int iface, Avahi.Protocol proto, string name, Avahi.RecordClass clazz, Avahi.RecordType type, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="clazz" Type="Avahi.RecordClass" /> + <Parameter Name="type" Type="Avahi.RecordType" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="name">To be added.</param> + <param name="clazz">To be added.</param> + <param name="type">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="RecordAdded"> + <MemberSignature Language="C#" Value="public event Avahi.RecordInfoHandler RecordAdded;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="RecordRemoved"> + <MemberSignature Language="C#" Value="public event Avahi.RecordInfoHandler RecordRemoved;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Records"> + <MemberSignature Language="C#" Value="public Avahi.RecordInfo[] Records { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordInfo[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/RecordClass.xml b/trunk/avahi-sharp/en/Avahi/RecordClass.xml new file mode 100644 index 0000000..69787ce --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/RecordClass.xml @@ -0,0 +1,26 @@ +<Type Name="RecordClass" FullName="Avahi.RecordClass"> + <TypeSignature Language="C#" Value="public enum RecordClass" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="In"> + <MemberSignature Language="C#" Value="In" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordClass</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/RecordInfo.xml b/trunk/avahi-sharp/en/Avahi/RecordInfo.xml new file mode 100644 index 0000000..708678e --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/RecordInfo.xml @@ -0,0 +1,94 @@ +<Type Name="RecordInfo" FullName="Avahi.RecordInfo"> + <TypeSignature Language="C#" Value="public struct RecordInfo" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.ValueType</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName="NetworkInterface"> + <MemberSignature Language="C#" Value="public int NetworkInterface;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Protocol"> + <MemberSignature Language="C#" Value="public Avahi.Protocol Protocol;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Name"> + <MemberSignature Language="C#" Value="public string Name;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Class"> + <MemberSignature Language="C#" Value="public Avahi.RecordClass Class;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordClass</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Type"> + <MemberSignature Language="C#" Value="public Avahi.RecordType Type;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Data"> + <MemberSignature Language="C#" Value="public byte[] Data;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Byte[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Flags"> + <MemberSignature Language="C#" Value="public Avahi.LookupResultFlags Flags;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/RecordInfoArgs.xml b/trunk/avahi-sharp/en/Avahi/RecordInfoArgs.xml new file mode 100644 index 0000000..81e6e57 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/RecordInfoArgs.xml @@ -0,0 +1,41 @@ +<Type Name="RecordInfoArgs" FullName="Avahi.RecordInfoArgs"> + <TypeSignature Language="C#" Value="public class RecordInfoArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public RecordInfoArgs (Avahi.RecordInfo record);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="record" Type="Avahi.RecordInfo" /> + </Parameters> + <Docs> + <param name="record">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Record"> + <MemberSignature Language="C#" Value="public Avahi.RecordInfo Record { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordInfo</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/RecordInfoHandler.xml b/trunk/avahi-sharp/en/Avahi/RecordInfoHandler.xml new file mode 100644 index 0000000..f9cbc17 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/RecordInfoHandler.xml @@ -0,0 +1,23 @@ +<Type Name="RecordInfoHandler" FullName="Avahi.RecordInfoHandler"> + <TypeSignature Language="C#" Value="public delegate void RecordInfoHandler(object o, Avahi.RecordInfoArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.RecordInfoArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/RecordType.xml b/trunk/avahi-sharp/en/Avahi/RecordType.xml new file mode 100644 index 0000000..7913cad --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/RecordType.xml @@ -0,0 +1,116 @@ +<Type Name="RecordType" FullName="Avahi.RecordType"> + <TypeSignature Language="C#" Value="public enum RecordType" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Members> + <Member MemberName="Cname"> + <MemberSignature Language="C#" Value="Cname" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Ptr"> + <MemberSignature Language="C#" Value="Ptr" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Aaa"> + <MemberSignature Language="C#" Value="Aaa" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Soa"> + <MemberSignature Language="C#" Value="Soa" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Txt"> + <MemberSignature Language="C#" Value="Txt" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Hinfo"> + <MemberSignature Language="C#" Value="Hinfo" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Ns"> + <MemberSignature Language="C#" Value="Ns" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Mx"> + <MemberSignature Language="C#" Value="Mx" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="A"> + <MemberSignature Language="C#" Value="A" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Srv"> + <MemberSignature Language="C#" Value="Srv" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.RecordType</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ResolverBase.xml b/trunk/avahi-sharp/en/Avahi/ResolverBase.xml new file mode 100644 index 0000000..c7d8549 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ResolverBase.xml @@ -0,0 +1,37 @@ +<Type Name="ResolverBase" FullName="Avahi.ResolverBase"> + <TypeSignature Language="C#" Value="public abstract class ResolverBase" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="protected ResolverBase ();" /> + <MemberType>Constructor</MemberType> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Failed"> + <MemberSignature Language="C#" Value="public event Avahi.ErrorCodeHandler Failed;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ErrorCodeHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceBrowser.xml b/trunk/avahi-sharp/en/Avahi/ServiceBrowser.xml new file mode 100644 index 0000000..ff4eedb --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceBrowser.xml @@ -0,0 +1,119 @@ +<Type Name="ServiceBrowser" FullName="Avahi.ServiceBrowser"> + <TypeSignature Language="C#" Value="public class ServiceBrowser : Avahi.BrowserBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.BrowserBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceBrowser (Avahi.Client client, string type);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="type" Type="System.String" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="type">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceBrowser (Avahi.Client client, string type, string domain);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceAdded"> + <MemberSignature Language="C#" Value="public event Avahi.ServiceInfoHandler ServiceAdded;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceRemoved"> + <MemberSignature Language="C#" Value="public event Avahi.ServiceInfoHandler ServiceRemoved;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Services"> + <MemberSignature Language="C#" Value="public Avahi.ServiceInfo[] Services { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfo[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceBrowser (Avahi.Client client, int iface, Avahi.Protocol proto, string type, string domain, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceInfo.xml b/trunk/avahi-sharp/en/Avahi/ServiceInfo.xml new file mode 100644 index 0000000..d780085 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceInfo.xml @@ -0,0 +1,138 @@ +<Type Name="ServiceInfo" FullName="Avahi.ServiceInfo"> + <TypeSignature Language="C#" Value="public struct ServiceInfo" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.ValueType</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName="NetworkInterface"> + <MemberSignature Language="C#" Value="public int NetworkInterface;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Protocol"> + <MemberSignature Language="C#" Value="public Avahi.Protocol Protocol;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Domain"> + <MemberSignature Language="C#" Value="public string Domain;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceType"> + <MemberSignature Language="C#" Value="public string ServiceType;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Name"> + <MemberSignature Language="C#" Value="public string Name;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HostName"> + <MemberSignature Language="C#" Value="public string HostName;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Address"> + <MemberSignature Language="C#" Value="public System.Net.IPAddress Address;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Net.IPAddress</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Port"> + <MemberSignature Language="C#" Value="public ushort Port;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.UInt16</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Text"> + <MemberSignature Language="C#" Value="public byte[][] Text;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Byte[][]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Zero"> + <MemberSignature Language="C#" Value="public static Avahi.ServiceInfo Zero;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfo</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Flags"> + <MemberSignature Language="C#" Value="public Avahi.LookupResultFlags Flags;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceInfoArgs.xml b/trunk/avahi-sharp/en/Avahi/ServiceInfoArgs.xml new file mode 100644 index 0000000..d2ee14d --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceInfoArgs.xml @@ -0,0 +1,41 @@ +<Type Name="ServiceInfoArgs" FullName="Avahi.ServiceInfoArgs"> + <TypeSignature Language="C#" Value="public class ServiceInfoArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceInfoArgs (Avahi.ServiceInfo service);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="service" Type="Avahi.ServiceInfo" /> + </Parameters> + <Docs> + <param name="service">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Service"> + <MemberSignature Language="C#" Value="public Avahi.ServiceInfo Service { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfo</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceInfoHandler.xml b/trunk/avahi-sharp/en/Avahi/ServiceInfoHandler.xml new file mode 100644 index 0000000..91cf630 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceInfoHandler.xml @@ -0,0 +1,23 @@ +<Type Name="ServiceInfoHandler" FullName="Avahi.ServiceInfoHandler"> + <TypeSignature Language="C#" Value="public delegate void ServiceInfoHandler(object o, Avahi.ServiceInfoArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.ServiceInfoArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceResolver.xml b/trunk/avahi-sharp/en/Avahi/ServiceResolver.xml new file mode 100644 index 0000000..e8ac750 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceResolver.xml @@ -0,0 +1,125 @@ +<Type Name="ServiceResolver" FullName="Avahi.ServiceResolver"> + <TypeSignature Language="C#" Value="public class ServiceResolver : Avahi.ResolverBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.ResolverBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceResolver (Avahi.Client client, string name, string type, string domain);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceResolver (Avahi.Client client, Avahi.ServiceInfo service);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="service" Type="Avahi.ServiceInfo" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="service">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Found"> + <MemberSignature Language="C#" Value="public event Avahi.ServiceInfoHandler Found;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Timeout"> + <MemberSignature Language="C#" Value="public event EventHandler Timeout;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>System.EventHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Service"> + <MemberSignature Language="C#" Value="public Avahi.ServiceInfo Service { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceInfo</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceResolver (Avahi.Client client, int iface, Avahi.Protocol proto, string name, string type, string domain, Avahi.Protocol aproto, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="name" Type="System.String" /> + <Parameter Name="type" Type="System.String" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="aproto" Type="Avahi.Protocol" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="name">To be added.</param> + <param name="type">To be added.</param> + <param name="domain">To be added.</param> + <param name="aproto">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceTypeBrowser.xml b/trunk/avahi-sharp/en/Avahi/ServiceTypeBrowser.xml new file mode 100644 index 0000000..5ea64ac --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceTypeBrowser.xml @@ -0,0 +1,113 @@ +<Type Name="ServiceTypeBrowser" FullName="Avahi.ServiceTypeBrowser"> + <TypeSignature Language="C#" Value="public class ServiceTypeBrowser : Avahi.BrowserBase, System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Avahi.BrowserBase</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.IDisposable</InterfaceName> + </Interface> + </Interfaces> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceTypeBrowser (Avahi.Client client);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceTypeBrowser (Avahi.Client client, string domain);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="domain" Type="System.String" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="domain">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceTypeAdded"> + <MemberSignature Language="C#" Value="public event Avahi.ServiceTypeInfoHandler ServiceTypeAdded;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceTypeInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceTypeRemoved"> + <MemberSignature Language="C#" Value="public event Avahi.ServiceTypeInfoHandler ServiceTypeRemoved;" /> + <MemberType>Event</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceTypeInfoHandler</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberType>Method</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceTypes"> + <MemberSignature Language="C#" Value="public Avahi.ServiceTypeInfo[] ServiceTypes { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceTypeInfo[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceTypeBrowser (Avahi.Client client, int iface, Avahi.Protocol proto, string domain, Avahi.LookupFlags flags);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="client" Type="Avahi.Client" /> + <Parameter Name="iface" Type="System.Int32" /> + <Parameter Name="proto" Type="Avahi.Protocol" /> + <Parameter Name="domain" Type="System.String" /> + <Parameter Name="flags" Type="Avahi.LookupFlags" /> + </Parameters> + <Docs> + <param name="client">To be added.</param> + <param name="iface">To be added.</param> + <param name="proto">To be added.</param> + <param name="domain">To be added.</param> + <param name="flags">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceTypeInfo.xml b/trunk/avahi-sharp/en/Avahi/ServiceTypeInfo.xml new file mode 100644 index 0000000..5b09ae9 --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceTypeInfo.xml @@ -0,0 +1,72 @@ +<Type Name="ServiceTypeInfo" FullName="Avahi.ServiceTypeInfo"> + <TypeSignature Language="C#" Value="public struct ServiceTypeInfo" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.ValueType</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName="NetworkInterface"> + <MemberSignature Language="C#" Value="public int NetworkInterface;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Protocol"> + <MemberSignature Language="C#" Value="public Avahi.Protocol Protocol;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.Protocol</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Domain"> + <MemberSignature Language="C#" Value="public string Domain;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceType"> + <MemberSignature Language="C#" Value="public string ServiceType;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Flags"> + <MemberSignature Language="C#" Value="public Avahi.LookupResultFlags Flags;" /> + <MemberType>Field</MemberType> + <ReturnValue> + <ReturnType>Avahi.LookupResultFlags</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceTypeInfoArgs.xml b/trunk/avahi-sharp/en/Avahi/ServiceTypeInfoArgs.xml new file mode 100644 index 0000000..fd584cd --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceTypeInfoArgs.xml @@ -0,0 +1,41 @@ +<Type Name="ServiceTypeInfoArgs" FullName="Avahi.ServiceTypeInfoArgs"> + <TypeSignature Language="C#" Value="public class ServiceTypeInfoArgs : System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public ServiceTypeInfoArgs (Avahi.ServiceTypeInfo type);" /> + <MemberType>Constructor</MemberType> + <Parameters> + <Parameter Name="type" Type="Avahi.ServiceTypeInfo" /> + </Parameters> + <Docs> + <param name="type">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ServiceType"> + <MemberSignature Language="C#" Value="public Avahi.ServiceTypeInfo ServiceType { get; };" /> + <MemberType>Property</MemberType> + <ReturnValue> + <ReturnType>Avahi.ServiceTypeInfo</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/Avahi/ServiceTypeInfoHandler.xml b/trunk/avahi-sharp/en/Avahi/ServiceTypeInfoHandler.xml new file mode 100644 index 0000000..0fd751f --- /dev/null +++ b/trunk/avahi-sharp/en/Avahi/ServiceTypeInfoHandler.xml @@ -0,0 +1,23 @@ +<Type Name="ServiceTypeInfoHandler" FullName="Avahi.ServiceTypeInfoHandler"> + <TypeSignature Language="C#" Value="public delegate void ServiceTypeInfoHandler(object o, Avahi.ServiceTypeInfoArgs args);" /> + <AssemblyInfo> + <AssemblyName>avahi-sharp</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="o" Type="System.Object" /> + <Parameter Name="args" Type="Avahi.ServiceTypeInfoArgs" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="o">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/trunk/avahi-sharp/en/index.xml b/trunk/avahi-sharp/en/index.xml new file mode 100644 index 0000000..e180cd0 --- /dev/null +++ b/trunk/avahi-sharp/en/index.xml @@ -0,0 +1,79 @@ +<Overview> + <Assemblies> + <Assembly Name="avahi-sharp" Version="1.0.0.0"> + <Attributes> + <Attribute> + <AttributeName>System.Reflection.AssemblyTrademark(Trademark="")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Reflection.AssemblyCopyright(Copyright="(C) 2005 James Willcox <snorp@snorp.net>")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Reflection.AssemblyProduct(Product="")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Reflection.AssemblyCompany(Company="")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Reflection.AssemblyConfiguration(Configuration="")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Reflection.AssemblyDescription(Description="Mono bindings for the Avahi mDNS/DNS-SD stack")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Reflection.AssemblyTitle(Title="avahi-sharp")</AttributeName> + </Attribute> + </Attributes> + </Assembly> + </Assemblies> + <Remarks>To be added.</Remarks> + <Copyright>To be added.</Copyright> + <Types> + <Namespace Name="Avahi"> + <Type Name="AddressResolver" /> + <Type Name="Client" /> + <Type Name="ClientException" /> + <Type Name="DomainInfo" /> + <Type Name="DomainBrowser" /> + <Type Name="EntryGroup" /> + <Type Name="HostNameResolver" /> + <Type Name="ServiceInfo" /> + <Type Name="ServiceBrowser" /> + <Type Name="ServiceResolver" /> + <Type Name="ServiceTypeInfo" /> + <Type Name="ServiceTypeBrowser" /> + <Type Name="HostAddressHandler" /> + <Type Name="ClientStateHandler" /> + <Type Name="DomainInfoHandler" /> + <Type Name="EntryGroupStateHandler" /> + <Type Name="ServiceInfoHandler" /> + <Type Name="ServiceTypeInfoHandler" /> + <Type Name="Protocol" /> + <Type Name="ClientState" /> + <Type Name="DomainBrowserType" /> + <Type Name="EntryGroupState" /> + <Type Name="LookupFlags" /> + <Type Name="LookupResultFlags" /> + <Type Name="HostAddressArgs" /> + <Type Name="ResolverBase" /> + <Type Name="BrowserBase" /> + <Type Name="ClientStateArgs" /> + <Type Name="ErrorCodeArgs" /> + <Type Name="DomainInfoArgs" /> + <Type Name="EntryGroupStateArgs" /> + <Type Name="RecordInfo" /> + <Type Name="RecordInfoArgs" /> + <Type Name="RecordBrowser" /> + <Type Name="ServiceInfoArgs" /> + <Type Name="ServiceTypeInfoArgs" /> + <Type Name="ErrorCodeHandler" /> + <Type Name="RecordInfoHandler" /> + <Type Name="ClientFlags" /> + <Type Name="ErrorCode" /> + <Type Name="PublishFlags" /> + <Type Name="RecordClass" /> + <Type Name="RecordType" /> + </Namespace> + </Types> + <Title>avahi-sharp</Title> +</Overview> diff --git a/trunk/avahi-sharp/gencfg.sh b/trunk/avahi-sharp/gencfg.sh new file mode 100755 index 0000000..3486187 --- /dev/null +++ b/trunk/avahi-sharp/gencfg.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +. $1 +client_dlname=$dlname +. $2 +common_dlname=$dlname +. $3 +glib_dlname=$dlname + +exec sed -e "s,@CLIENT_DLNAME\@,${client_dlname},g" \ + -e "s,@COMMON_DLNAME\@,${common_dlname},g" \ + -e "s,@GLIB_DLNAME\@,${glib_dlname},g" |