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; } }