Advtools.AdvInterceptor.State.GetDefaultNetworkInfo C# (CSharp) Method

GetDefaultNetworkInfo() private method

private GetDefaultNetworkInfo ( IPAddress &ipv4, IPAddress &ipv6 ) : System.Net.IPAddress[]
ipv4 System.Net.IPAddress
ipv6 System.Net.IPAddress
return System.Net.IPAddress[]
        private IPAddress[] GetDefaultNetworkInfo(out IPAddress ipv4, out IPAddress ipv6)
        {
            IPAddress[] ips = Advtools.AdvInterceptor.Network.GetIpsByWmi();
            ipv4 = null;
            ipv6 = null;

            foreach(IPAddress ip in ips)
            {
                if(ipv4 == null && ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    Logger.Config("Default IPv4 address is {0}", ip);
                    ipv4 = ip;
                }

                if(ipv6 == null && ip.AddressFamily == AddressFamily.InterNetworkV6)
                {
                    Logger.Config("Default IPv6 address is {0}", ip);
                    ipv6 = ip;
                }

                if(ipv4 != null && ipv6 != null)
                    break;
            }

            if(ipv4 == null)
            {
                Logger.Warning("No valid default IPv4 address found, take the loopback");
                ipv4 = IPAddress.Loopback;
            }

            if(ipv6 == null)
            {
                Logger.Warning("No valid default IPv6 address found, take the loopback");
                ipv6 = IPAddress.IPv6Loopback;
            }

            return ips;
        }