]> git.meshlink.io Git - catta/blobdiff - avahi-ui-sharp/ServiceDialog.cs
Merge branch 'release/0.0.1'
[catta] / avahi-ui-sharp / ServiceDialog.cs
diff --git a/avahi-ui-sharp/ServiceDialog.cs b/avahi-ui-sharp/ServiceDialog.cs
deleted file mode 100644 (file)
index 31f7479..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-using System;
-using System.Net;
-using System.Collections;
-using System.Runtime.InteropServices;
-using Gtk;
-using Mono.Unix;
-using Mono.Unix.Native;
-
-namespace Avahi.UI
-{
-    public class ServiceDialog : Dialog
-    {
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_new (string title, IntPtr parent, IntPtr dummy);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_browse_service_typesv (IntPtr dialog, IntPtr[] types);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_browse_service_types (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_domain (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_domain (IntPtr dialog, IntPtr domain);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_service_type (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_service_type (IntPtr dialog, IntPtr type);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_service_name (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_service_name (IntPtr dialog, IntPtr type);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_address (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern UInt16 aui_service_dialog_get_port (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_host_name (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern IntPtr aui_service_dialog_get_txt_data (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern bool aui_service_dialog_get_resolve_service (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_resolve_service (IntPtr dialog, bool val);
-
-        [DllImport ("avahi-ui")]
-        private static extern bool aui_service_dialog_get_resolve_host_name (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_resolve_host_name (IntPtr dialog, bool val);
-
-        [DllImport ("avahi-ui")]
-        private static extern Protocol aui_service_dialog_get_address_family (IntPtr dialog);
-
-        [DllImport ("avahi-ui")]
-        private static extern void aui_service_dialog_set_address_family (IntPtr dialog, Protocol proto);
-
-        [DllImport ("avahi-common")]
-        private static extern IntPtr avahi_address_snprint (IntPtr buf, int size, IntPtr address);
-
-        [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);
-
-        public string[] BrowseServiceTypes {
-            get {
-                IntPtr arr = aui_service_dialog_get_browse_service_types (Raw);
-
-                ArrayList values = new ArrayList ();
-
-                for (int i = 0;;i++) {
-                    IntPtr ptr = Marshal.ReadIntPtr (arr, i * Marshal.SizeOf (typeof (IntPtr)));
-
-                    if (ptr == IntPtr.Zero)
-                        break;
-
-                    values.Add (GLib.Marshaller.Utf8PtrToString (ptr));
-                }
-
-                return (string[]) values.ToArray (typeof (string));
-            } set {
-                IntPtr[] types;
-                if (value == null) {
-                    types = new IntPtr[] { IntPtr.Zero };
-                } else {
-                    types = new IntPtr[value.Length + 1];
-
-                    for (int i = 0; i < value.Length; i++) {
-                        types[i] = GLib.Marshaller.StringToPtrGStrdup (value[i]);
-                    }
-
-                    types[value.Length] = IntPtr.Zero;
-                }
-
-                aui_service_dialog_set_browse_service_typesv (Raw, types);
-
-                for (int i = 0;;i++) {
-                    if (types[i] != IntPtr.Zero)
-                        break;
-
-                    GLib.Marshaller.Free (types[i]);
-                }
-            }
-        }
-
-        public string ServiceType {
-            get {
-                return GLib.Marshaller.Utf8PtrToString (aui_service_dialog_get_service_type (Raw));
-            } set {
-                IntPtr type = GLib.Marshaller.StringToPtrGStrdup (value);
-                aui_service_dialog_set_service_type (Raw, type);
-                GLib.Marshaller.Free (type);
-            }
-        }
-
-        public string ServiceName {
-            get {
-                return GLib.Marshaller.Utf8PtrToString (aui_service_dialog_get_service_name (Raw));
-            } set {
-                IntPtr name = GLib.Marshaller.StringToPtrGStrdup (value);
-                aui_service_dialog_set_service_name (Raw, name);
-                GLib.Marshaller.Free (name);
-            }
-        }
-
-        public IPAddress Address {
-            get {
-                return PtrToAddress (aui_service_dialog_get_address (Raw));
-            }
-        }
-
-        public UInt16 Port {
-            get {
-                return aui_service_dialog_get_port (Raw);
-            }
-        }
-
-        public string HostName {
-            get {
-                return GLib.Marshaller.Utf8PtrToString (aui_service_dialog_get_host_name (Raw));
-            }
-        }
-
-        public string Domain {
-            get {
-                return GLib.Marshaller.Utf8PtrToString (aui_service_dialog_get_domain (Raw));
-            } set {
-                IntPtr domain = GLib.Marshaller.StringToPtrGStrdup (value);
-                aui_service_dialog_set_domain (Raw, domain);
-                GLib.Marshaller.Free (domain);
-            }
-        }
-
-        public byte[][] TxtData {
-            get {
-                ArrayList txtlist = new ArrayList ();
-                IntPtr txt = aui_service_dialog_get_txt_data (Raw);
-
-                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);
-                }
-
-                return (byte[][]) txtlist.ToArray (typeof (byte[]));
-            }
-        }
-
-        public bool ResolveServiceEnabled {
-            get {
-                return aui_service_dialog_get_resolve_service (Raw);
-            } set {
-                aui_service_dialog_set_resolve_service (Raw, value);
-            }
-        }
-
-        public bool ResolveHostNameEnabled {
-            get {
-                return aui_service_dialog_get_resolve_host_name (Raw);
-            } set {
-                aui_service_dialog_set_resolve_host_name (Raw, value);
-            }
-        }
-
-        public Protocol AddressFamily {
-            get {
-                return aui_service_dialog_get_address_family (Raw);
-            } set {
-                aui_service_dialog_set_address_family (Raw, value);
-            }
-        }
-
-        public ServiceDialog (string title, Window parent, params object[] buttonData)
-        {
-            Raw = aui_service_dialog_new (title, parent == null ? IntPtr.Zero : parent.Handle,
-                                          IntPtr.Zero);
-
-            for (int i = 0; i < buttonData.Length - 1; i += 2) {
-                AddButton ((string) buttonData[i], (int) buttonData[i + 1]);
-            }
-        }
-
-        private 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 (GLib.Marshaller.Utf8PtrToString (addrPtr));
-
-                Stdlib.free (addrPtr);
-            }
-
-            return address;
-        }
-    }
-}