package com.evanram.code.java.dimchat_client;
import java.util.Arrays;
import java.util.Scanner;
import com.evanram.code.java.dimcrypt.Dimcrypt;
public class Client
{
public static boolean isGuiMode = true;
private static Dimcrypt dimcryptInstance = new Dimcrypt("");
private static Version versionInstance;
public static void main(String... args) throws Exception
{
versionInstance = new Version("0.1.0a");
if(!Arrays.asList(args).contains("-nogui"))
GUI.initGUI("dimchat - client");
else
{
isGuiMode = false;
promptConnectionCommandline();
}
}
public static void newConnection()
{
Connections.closeSocket();
if(Client.isGuiMode)
{
GUI.isConnected = false;
GUI.connectionStateStr = "Connect";
GUI.connectButton.setText("Connect");
GUI.toggleConnectionFields(true);
GUI.toggleSendingFields(false);
}
else
{
System.exit(0); //if in no gui mode, just exit. TODO: retry connection every X seconds
}
}
private static void promptConnectionCommandline()
{
Scanner sc = new Scanner(System.in);
Message.logInfo("Enter server address: ");
String ipPort = sc.nextLine();
String[] split = ipPort.split(":");
if(split.length == 0)
{
new Connections();
}
else if(split.length == 1)
{
new Connections(split[0]);
}
else if(split.length > 1)
{
if(Connections.isValidAndNonEmptyPort(split[1]))
new Connections(split[0], Integer.parseInt(split[1]));
else
new Connections(split[0]);
}
}
public static Dimcrypt getDimcrypt()
{
return dimcryptInstance;
}
public static Version getVersion()
{
return versionInstance;
}
}