Exemple #1
0
        internal IEnumerable <WiFiConfiguration> GetWiFiConfigurations()
        {
            Log.Debug(Globals.LogTag, "GetWiFiConfigurations");
            List <WiFiConfiguration> configList = new List <WiFiConfiguration>();

            Interop.WiFi.HandleCallback callback = (IntPtr configHandle, IntPtr userData) =>
            {
                if (configHandle != IntPtr.Zero)
                {
                    IntPtr clonedConfig;
                    Interop.WiFi.Config.Clone(configHandle, out clonedConfig);
                    WiFiConfiguration configItem = new WiFiConfiguration(clonedConfig);
                    configList.Add(configItem);
                    return(true);
                }
                return(false);
            };

            int ret = Interop.WiFi.Config.GetForeachConfiguration(GetSafeHandle(), callback, IntPtr.Zero);

            if (ret != (int)WiFiError.None)
            {
                Log.Error(Globals.LogTag, "Failed to get configurations, Error - " + (WiFiError)ret);
                WiFiErrorFactory.ThrowWiFiException(ret, GetSafeHandle().DangerousGetHandle(), "http://tizen.org/privilege/network.profile");
            }

            return(configList);
        }
Exemple #2
0
        internal IEnumerable <WiFiAP> GetFoundSpecificAPs()
        {
            Log.Debug(Globals.LogTag, "GetFoundSpecificAPs");
            List <WiFiAP> apList = new List <WiFiAP>();

            Interop.WiFi.HandleCallback callback = (IntPtr apHandle, IntPtr userData) =>
            {
                if (apHandle != IntPtr.Zero)
                {
                    IntPtr clonedHandle;
                    Interop.WiFi.AP.Clone(out clonedHandle, apHandle);
                    WiFiAP apItem = new WiFiAP(clonedHandle);
                    apList.Add(apItem);
                    return(true);
                }
                return(false);
            };

            int ret = Interop.WiFi.GetForeachFoundSpecificAPs(GetSafeHandle(), callback, IntPtr.Zero);

            if (ret != (int)WiFiError.None)
            {
                Log.Error(Globals.LogTag, "Failed to get specific APs, Error - " + (WiFiError)ret);
                WiFiErrorFactory.ThrowWiFiException(ret, GetSafeHandle().DangerousGetHandle(), "http://tizen.org/privilege/network.get");
            }

            return(apList);
        }
Exemple #3
0
        /// <summary>
        /// Gets all IPv6 addresses of the access point.
        /// </summary>
        /// <since_tizen> 3 </since_tizen>
        /// <returns>A list of IPv6 addresses of the access point.</returns>
        /// <feature>http://tizen.org/feature/network.wifi</feature>
        /// <exception cref="NotSupportedException">Thrown when the Wi-Fi is not supported.</exception>
        /// <exception cref="ArgumentException">Thrown when the method failed due to an invalid parameter.</exception>
        /// <exception cref="InvalidOperationException">Thrown when the method failed due to an invalid operation.</exception>
        public IEnumerable <System.Net.IPAddress> GetAllIPv6Addresses()
        {
            Log.Debug(Globals.LogTag, "GetAllIPv6Addresses");
            List <System.Net.IPAddress> ipList = new List <System.Net.IPAddress>();

            Interop.WiFi.HandleCallback callback = (IntPtr ipv6Address, IntPtr userData) =>
            {
                if (ipv6Address != IntPtr.Zero)
                {
                    string ipv6 = Marshal.PtrToStringAnsi(ipv6Address);
                    if (ipv6.Length == 0)
                    {
                        ipList.Add(System.Net.IPAddress.Parse("::"));
                    }
                    else
                    {
                        ipList.Add(System.Net.IPAddress.Parse(ipv6));
                    }
                    return(true);
                }
                return(false);
            };

            int ret = Interop.WiFi.AP.GetAllIPv6Addresses(_apHandle, callback, IntPtr.Zero);

            if (ret != (int)WiFiError.None)
            {
                Log.Error(Globals.LogTag, "Failed to get all IPv6 addresses, Error - " + (WiFiError)ret);
                WiFiErrorFactory.ThrowWiFiException(ret, _apHandle.DangerousGetHandle());
            }

            return(ipList);
        }
Exemple #4
0
        internal IEnumerable <WiFiConfiguration> GetWiFiConfigurations()
        {
            Log.Debug(Globals.LogTag, "GetWiFiConfigurations");
            List <WiFiConfiguration> configList = new List <WiFiConfiguration>();

            Interop.WiFi.HandleCallback callback = (IntPtr configHandle, IntPtr userData) =>
            {
                if (configHandle != IntPtr.Zero)
                {
                    IntPtr clonedConfig;
                    Interop.WiFi.Config.Clone(configHandle, out clonedConfig);
                    WiFiConfiguration configItem = new WiFiConfiguration(clonedConfig);
                    configList.Add(configItem);
                    return(true);
                }
                return(false);
            };

            int ret = Interop.WiFi.Config.GetForeachConfiguration(GetSafeHandle(), callback, IntPtr.Zero);

            CheckReturnValue(ret, "GetForeachConfiguration", PrivilegeNetworkProfile);
            return(configList);
        }
Exemple #5
0
        internal IEnumerable <WiFiAP> GetFoundBssids()
        {
            Log.Info(Globals.LogTag, "GetFoundBssids");
            List <WiFiAP> apList = new List <WiFiAP>();

            Interop.WiFi.HandleCallback callback = (IntPtr apHandle, IntPtr userData) =>
            {
                if (apHandle != IntPtr.Zero)
                {
                    IntPtr clonedHandle;
                    Interop.WiFi.AP.Clone(out clonedHandle, apHandle);
                    WiFiAP apItem = new WiFiAP(clonedHandle);
                    apList.Add(apItem);
                    return(true);
                }
                return(false);
            };

            int ret = Interop.WiFi.GetForeachFoundBssids(GetSafeHandle(), callback, IntPtr.Zero);

            CheckReturnValue(ret, "GetForeachFoundBssids", PrivilegeNetworkGet);

            return(apList);
        }