import java.io.*;

/**
 * Tato trida slouzi ke spusteni IRC serveru.
 * 
 * @author Marek Dvoroznak
 * @version 0.1
 */
public class IRCServer
{
    private ServerThread server;
    
//     static public void main(String args[])
//     {
//         if (args.length > 0) {
//             option = args[0].toLower();
//             int port;
//             if (args.length > 1) port = Integer.parseInt(args[1]);
//             else port = Settings.defaultPort;
// 
//             if (option.equals("start") {
//                 this(port);
//                 start();
//                 System.out.println("Server started.");
//             } else
//             if (option.equals("restart") {
//                 stop();
//                 System.out.println("Server restarted.");
//             } else
//             if (option.equals("stop") {
//                 stop();
//                 System.out.println("Server stopped.");
//             }
//         } else {
//             System.out.println("Usage: IRCServer <option> [port]\n\nOptions: start restart stop");
//         }
//     }

    /**
     * Zkonstruuje objekt typu IRCServer.
     */
    public IRCServer()
    {
        this(Settings.DEFAULT_PORT);
    }

    /**
     * Zkonstruuje objekt typu IRCServer.
     * 
     * @param port port, na kterem bude server poslouchat
     */
    public IRCServer(int port)
    {
        server = new ServerThread(port);
    }
    
    /**
     * Spusti server, pokud server nebezi.
     */
    public void start()
    {
        if (!server.isRunning()) server.start();
    }

    /**
     * Zastavi server, pokud server bezi.
     */
    public void stop()
    {
        if (server.isRunning()) {
            server.stopIt();
            System.exit(0);
        }
    }
}
