private Boolean AddNewServer(String[] parameters) { Int16 port; if (parameters.Length != 2) { NLConsole.WriteLine(UIStrings.InvNoOfArgs); return(false); } else if (!Int16.TryParse(parameters[0], out port)) { NLConsole.WriteLine(UIStrings.InvPort); return(false); } else if (ServersDirector.Exists(port)) { String message = String.Format(UIStrings.ServerExistsOnPort, port); NLConsole.WriteLine(message, ConsoleColor.White); return(false); } else if (!ServersDirector.IsPortAvailable(port)) { String message = String.Format(UIStrings.PortUnavailable, port); NLConsole.WriteLine(message, ConsoleColor.White); return(false); } String controllerName = parameters[1]; if (!controllerName.StartsWith("NL.")) { controllerName = "NL.Server.Controllers." + controllerName; } Assembly assembly = Assembly.GetExecutingAssembly(); IRemoteController controller; try { controller = (IRemoteController)assembly.CreateInstance(controllerName, true); } catch (InvalidCastException e) { NLConsole.WriteLine(UIStrings.ControllerDoesNotExist, ConsoleColor.White); return(false); } if (controller == null) { NLConsole.WriteLine(UIStrings.ControllerDoesNotExist, ConsoleColor.White); return(false); } ServersDirector.AddServer(port, controller); return(true); }
private Boolean DisconnectIP(String[] parameters) { if (parameters.Length != 1) { NLConsole.WriteLine(UIStrings.InvNoOfArgs, ConsoleColor.White); return(false); } IPAddress ipaddress; if (!IPAddress.TryParse(parameters[0], out ipaddress)) { NLConsole.WriteLine(UIStrings.InvIPAddress, ConsoleColor.White); return(false); } Int32 disconnected = ServersDirector.DisconnectIP(ipaddress); String response = String.Format(UIStrings.IPDisconnected, disconnected); NLConsole.WriteLine(response, ConsoleColor.White); return(true); }
private Boolean RemoveServer(String[] parameters) { Int16 port; if (parameters.Length != 1) { NLConsole.WriteLine(UIStrings.InvNoOfArgs); return(false); } else if (!Int16.TryParse(parameters[0], out port)) { NLConsole.WriteLine(UIStrings.InvPort); return(false); } else if (!ServersDirector.Exists(port)) { String message = String.Format(UIStrings.ServerDoesNotExistOnPort, port); NLConsole.WriteLine(message, ConsoleColor.White); return(false); } ServersDirector.RemoveServer(port); return(true); }
private Boolean DisconnectServer(String[] parameters) { Int16 port = 0; if (parameters.Length != 1) { NLConsole.WriteLine(UIStrings.InvNoOfArgs, ConsoleColor.White); return(false); } if (parameters[0].Equals("*")) { ServersDirector.DisconnectAll(); return(false); } if (!Int16.TryParse(parameters[0], out port)) { NLConsole.WriteLine(UIStrings.InvPort, ConsoleColor.White); return(false); } else if (!ServersDirector.Exists(port)) { NLConsole.WriteLine(UIStrings.ServerDoesNotExistOnPort, ConsoleColor.White); return(false); } else if (!ServersDirector.IsConnected(port)) { NLConsole.WriteLine(UIStrings.ServerNotConnected, ConsoleColor.White); return(false); } else { ServersDirector.Disconnect(port); return(true); } }