public static void ConnectToServers()
 {
     AppLog.WriteLine(5, "STATUS", "Entered IRCLogger.Program.ConnectToServers().");
     MySqlCommand Cmd = new MySqlCommand("SELECT * FROM " + Config.SQLTablePrefix + "networks", EnumeraterDBConn.Connection);
     MySqlDataReader DataReader = Cmd.ExecuteReader();
     DataTable NetworkTable = new DataTable();
     NetworkTable.Load(DataReader);
     DataReader.Close();
     bool ServerExists;
     foreach (DataRow CurNetwork in NetworkTable.Rows) {
         ServerExists = false;
         foreach (Server CurServer in Servers) {
             if (CurServer.ID == Convert.ToInt32(CurNetwork["id"])) {
                 ServerExists = true;
                 CurServer.JoinChannels();
             }
         }
         if (!ServerExists) {
             Server TempServer = new Server(Servers);
             TempServer.ID = Convert.ToInt32(CurNetwork["id"]);
             TempServer.Hostname = CurNetwork["server"].ToString();
             TempServer.Network = CurNetwork["name"].ToString();
             TempServer.Port = Convert.ToInt32(CurNetwork["port"]);
             TempServer.Pass = CurNetwork["password"].ToString();
             TempServer.RealName = CurNetwork["realname"].ToString();
             TempServer.Nick = CurNetwork["nickname"].ToString();
             TempServer.AltNick = CurNetwork["altnickname"].ToString();
             Servers.Add(TempServer);
             TempServer.Connect();
         }
     }
 }
 public ConnectionWatchdog(Server IRCServer)
 {
     m_IRCServer = IRCServer;
     TimerCallback PingTimerDelegate = new TimerCallback(SendPing);
     m_InitiatePingTimer = new Timer(PingTimerDelegate, m_IRCServer, Config.InactivityTimeout * 1000, Timeout.Infinite);
     AppLog.WriteLine(5, "TIMR", "Ping Timer Started...");
 }
 public void StartClient(Server i_ParentServer)
 {
     if ((ClientSock != null) && (ClientSock.Connected)) {
         Close(ClientSock);
     }
     ParentServer = i_ParentServer;
     AppLog.WriteLine(5, "STATUS", "Entering IRC.Server.StartClient().");
     int i = 0;
     IPAddress IPAddr;
     if (int.TryParse(ParentServer.Hostname.Substring(0, 1), out i)) {
         IPAddr = IPAddress.Parse(ParentServer.Hostname);
     } else {
         IPHostEntry ipHostInfo = Dns.GetHostEntry(ParentServer.Hostname);
         IPAddr = ipHostInfo.AddressList[0];
     }
     IPEndPoint ConnectSock = new IPEndPoint(IPAddr, ParentServer.Port);
     ClientSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     AppLog.WriteLine(5, "STATUS", "Initiating Connection.");
     ClientSock.BeginConnect(ConnectSock, new AsyncCallback(OnConnect), ClientSock);
 }
 public Channel(Server ParentServer)
 {
     m_ParentServer = ParentServer;
 }
 public BotCommands(Server ParentServer)
 {
     m_ParentServer = ParentServer;
 }