]> git.meshlink.io Git - catta/blobdiff - avahi-sharp/EntryGroup.cs
bump version number and libtool revision
[catta] / avahi-sharp / EntryGroup.cs
index ccdeec9fc5e24d138eb0cf72872f38e0af9b9415..02be643676bebbddcfc8c75e2fa299b090795fe0 100644 (file)
@@ -127,16 +127,6 @@ namespace Avahi
         [DllImport ("avahi-common")]
         private static extern void avahi_string_list_free (IntPtr list);
 
-        [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 ("avahi-common")]
         private static extern IntPtr avahi_alternative_service_name (byte[] name);
 
@@ -246,11 +236,15 @@ namespace Avahi
         private void AddService (int iface, Protocol proto, PublishFlags flags, string name, string type,
                                  string domain, string host, UInt16 port, IntPtr list)
         {
-            int ret = avahi_entry_group_add_service_strlst (handle, iface, proto, flags,
+            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);
             
@@ -371,58 +365,6 @@ namespace Avahi
             }
         }
 
-        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);
-        }
-
         public static string GetAlternativeServiceName (string name) {
             return Utility.PtrToStringFree (avahi_alternative_service_name (Utility.StringToBytes (name)));
         }