iSpyApplication.MainForm.RescanIPTimerElapsed C# (CSharp) Method

RescanIPTimerElapsed() private static method

private static RescanIPTimerElapsed ( object sender, ElapsedEventArgs e ) : void
sender object
e ElapsedEventArgs
return void
        private static void RescanIPTimerElapsed(object sender, ElapsedEventArgs e)
        {
            _rescanIPTimer.Stop();
            _rescanIPTimer = null;
            if (Conf.IPMode == "IPv4")
            {
                _ipv4Addresses = null;
                bool iplisted = false;
                foreach (IPAddress ip in AddressListIPv4)
                {
                    if (Conf.IPv4Address == ip.ToString())
                        iplisted = true;
                }
                if (!iplisted)
                {
                    _ipv4Address = "";
                    Conf.IPv4Address = AddressIPv4;
                }
                if (iplisted)
                    return;
            }
            if (!string.IsNullOrEmpty(Conf.WSUsername) && !string.IsNullOrEmpty(Conf.WSPassword))
            {
                switch (Conf.IPMode)
                {
                    case "IPv4":

                        Logger.LogErrorToFile("Your IP address has changed. Please set a static IP address for your local computer to ensure uninterrupted connectivity.");
                        //force reload of ip info
                        AddressIPv4 = Conf.IPv4Address;
                        if (Conf.DHCPReroute && Conf.IPMode == "IPv4")
                        {
                            //check if IP address has changed
                            if (Conf.UseUPNP)
                            {
                                //change router ports
                                if (NATControl.SetPorts(Conf.ServerPort, Conf.LANPort))
                                    Logger.LogMessageToFile("Router port forwarding has been updated. (" +
                                                     Conf.IPv4Address + ")");
                            }
                            else
                            {
                                Logger.LogMessageToFile("Please check Use UPNP in web settings to handle this automatically");
                            }
                        }
                        else
                        {
                            Logger.LogMessageToFile("Enable DHCP Reroute in Web Settings to handle this automatically");
                        }
                        MWS.StopServer();
                        MWS.StartServer();
                        WsWrapper.ForceSync();
                        break;
                    case "IPv6":
                        _ipv6Addresses = null;
                        bool iplisted = false;
                        foreach (IPAddress ip in AddressListIPv6)
                        {
                            if (Conf.IPv6Address == ip.ToString())
                                iplisted = true;
                        }
                        if (!iplisted)
                        {
                            Logger.LogErrorToFile(
                                "Your IP address has changed. Please set a static IP address for your local computer to ensure uninterrupted connectivity.");
                            _ipv6Address = "";
                            AddressIPv6 = Conf.IPv6Address;
                            Conf.IPv6Address = AddressIPv6;
                        }
                        break;
                }
            }
        }
MainForm