public ServerAdmin(String configFile) { serverDb = Server.LoadConfig(configFile); Console.WriteLine("Starting ServerAdmin command line utility..."); char choice = ' '; // menu while (choice != 'q') { Console.WriteLine(" l) List accounts"); Console.WriteLine(" q) Quit"); Console.Write(" > "); ConsoleKeyInfo cki = Console.ReadKey(false); choice = cki.KeyChar; Console.WriteLine(); switch (choice) { case 'l': serverDb.ShowUsers(); break; } } }
/// <summary> /// Constructor. Maintains a loop for listening for incoming clients. /// </summary> /// <param name="configFile"></param> public Server(String configFile) { Console.WriteLine("Starting server"); Console.WriteLine("Loading config file " + configFile); serverDB = LoadConfig(configFile); TcpListener tcpListener = new TcpListener(IPAddress.Any, Port); try { tcpListener.Start(); } catch (SocketException e) { Console.WriteLine("Unable to start listener on port " + Port + e.Message); throw; } while (true) { Console.WriteLine(" waiting for client to connect..."); Socket listenerSocket = tcpListener.AcceptSocket(); Console.WriteLine("Client connected with handle " + listenerSocket.Handle); ServerClientConnection client = new ServerClientConnection(this, listenerSocket); clients.Add(listenerSocket.Handle, client); } }
public FlightPlanController(IHttpClientFactory factory, IFlightPlanDB fpDb, IServerDB serverDb, IFlightToServerDB flightToServerDb) { _client = factory.CreateClient("api"); _fpDb = fpDb; _serverDb = serverDb; _flightToServerDb = flightToServerDb; }
/* * public static HashSet<Type> GetBackends() { * * HashSet<Type> result = new HashSet<Type>(); * * var types = Assembly.GetExecutingAssembly().GetTypes().Where(m => m.IsClass && m.GetInterfaces().Contains(typeof(IServerDB))); * * foreach (var type in types) * result.Add(type); * * return result; * } */ /// <summary> /// Set member variables from config file /// </summary> /// <param name="configFile"></param> public static IServerDB LoadConfig(String configFile) { IServerDB serverDB = null; try { IniParser iniParser = new IniParser(configFile); Port = int.Parse(iniParser.GetSetting("settings", CONFIG_PORT)); // returns NULL when not found ? String baseDataDir = iniParser.GetSetting("settings", CONFIG_DIR); String serverDbConnectionString = iniParser.GetSetting("settings", CONFIG_DBSTRING); Type dbType = Type.GetType(iniParser.GetSetting("settings", CONFIG_BACKEND)); serverDB = (IServerDB)Activator.CreateInstance(dbType); serverDB.Connect(serverDbConnectionString, baseDataDir); } catch (FileNotFoundException e) { Console.WriteLine(e.Message); Common.ExitError(); } return(serverDB); }
private void gatherInput() { String input = null; IServerDB serverDB = null; do { Console.Write("Port [" + port + "]: "); input = Console.ReadLine(); if (input != String.Empty) { port = int.Parse(input); } Console.WriteLine("Backend [" + backend.Name + "]: " + backend.Name); serverDB = (IServerDB)Activator.CreateInstance(backend /*, new Object[]{null}*/); baseDataDir = serverDB.BaseDataDir; serverDbConnectionString = serverDB.DefaultConnectionString; Console.Write("DB connection string: [{0}]: ", serverDbConnectionString); input = Console.ReadLine(); if (input != String.Empty) { serverDbConnectionString = input; } Console.Write("Base data directory: [{0}]: ", baseDataDir); input = Console.ReadLine(); if (input != String.Empty) { baseDataDir = input; } try { serverDB.Connect(serverDbConnectionString, baseDataDir); break; } catch (Exception e) { Console.WriteLine(e.Message); continue; } } while (true); int accounts = serverDB.UsersCount(); Console.WriteLine(" The database currently contains " + accounts + " accounts"); if (accounts == 0) { Console.WriteLine("You will not be able to to use Mybox unless user are created on the server."); } Console.Write("Config file to create [" + configFile + "]: "); input = Console.ReadLine(); if (input != String.Empty) { configFile = input; } }
public ServersController(IServerDB serverDb) { _serverDb = serverDb; }