From 94d2753047cff1e9223e42736884e4d51348b45a Mon Sep 17 00:00:00 2001 From: James Willcox Date: Wed, 26 Oct 2005 03:20:44 +0000 Subject: first pass at updating to the 0.6 apis git-svn-id: file:///home/lennart/svn/public/avahi/trunk@876 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-sharp/EntryGroup.cs | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'avahi-sharp/EntryGroup.cs') diff --git a/avahi-sharp/EntryGroup.cs b/avahi-sharp/EntryGroup.cs index 85c9a1d..4373178 100644 --- a/avahi-sharp/EntryGroup.cs +++ b/avahi-sharp/EntryGroup.cs @@ -26,11 +26,24 @@ using System.Runtime.InteropServices; namespace Avahi { + [Flags] + public enum PublishFlags { + None = 0, + Unique = 1, + NoProbe = 2, + NoAnnounce = 4, + AllowMultiple = 8, + NoReverse = 16, + NoCookie = 32, + Update = 64 + } + public enum EntryGroupState { Uncommited, Registering, Established, - Collision + Collision, + Failure } internal delegate void EntryGroupCallback (IntPtr group, EntryGroupState state, IntPtr userdata); @@ -59,8 +72,9 @@ namespace Avahi [DllImport ("avahi-client")] private static extern void avahi_entry_group_add_service_strlst (IntPtr group, int iface, Protocol proto, - IntPtr name, IntPtr type, IntPtr domain, - IntPtr host, UInt16 port, IntPtr strlst); + PublishFlags flags, IntPtr name, IntPtr type, + IntPtr domain, IntPtr host, UInt16 port, + IntPtr strlst); [DllImport ("avahi-client")] private static extern void avahi_entry_group_free (IntPtr group); @@ -142,10 +156,16 @@ namespace Avahi public void AddService (string name, string type, string domain, UInt16 port, params string[] txt) { - AddService (-1, Protocol.Unspecified, name, type, domain, null, port, 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, string name, string type, string domain, + 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); @@ -164,7 +184,7 @@ namespace Avahi IntPtr hostPtr = Utility.StringToPtr (host); lock (client) { - avahi_entry_group_add_service_strlst (handle, iface, proto, namePtr, typePtr, domainPtr, + avahi_entry_group_add_service_strlst (handle, iface, proto, flags, namePtr, typePtr, domainPtr, hostPtr, port, list); } -- cgit