/// <summary> /// Entry point. /// </summary> /// <param name="args">Program arguments.</param> public static void Main(string[] args) { ProximaCore.Init(); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; _textLogger = new TextLogger(LogsDirectory); _consoleManager = new ColorfulConsoleManager(ApplicationName); _configManager = new ConfigManager(ConfigFilename); _ficsCore = new FICSCore(_consoleManager, _configManager, _textLogger); _ficsCore.Run(); while (true) { var text = Console.ReadLine(); if (text != null) { if (text.Contains("quit")) { break; } _ficsCore.Send(text); } } }
/// <summary> /// Initializes a new instance of the <see cref="FICSCore"/> class. /// </summary> /// <param name="consoleManager">The console manager.</param> /// <param name="configManager">The configuration manager.</param> /// <param name="textLogger">The text logger.</param> public FICSCore(ColorfulConsoleManager consoleManager, ConfigManager configManager, TextLogger textLogger) { _consoleManager = consoleManager; _configManager = configManager; _textLogger = textLogger; _ficsClient = new FICSClient(_configManager); _ficsClient.OnDataReceive += FicsClient_OnDataReceive; _ficsClient.OnDataSend += FicsClient_OnDataSend; ChangeMode(FICSModeType.Auth); }
/// <summary> /// Initializes a new instance of the <see cref="ConsoleManager"/> class. /// </summary> /// <param name="commandsManager">The commands manager instance.</param> /// <param name="appName">The application name (to display in console header).</param> public ConsoleManager(CommandsManager commandsManager, string appName) { Console.OutputEncoding = Encoding.UTF8; _commandsManager = commandsManager; _consoleLoop = new Task(Loop); _colorfulConsole = new ColorfulConsoleManager(appName); _loopRunning = false; SetCommandHandlers(); }
/// <summary> /// Entry point. /// </summary> /// <param name="args">Program arguments.</param> public static void Main(string[] args) { _textLogger = new TextLogger(LogsDirectory); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; ProximaCore.Init(); var consoleManager = new ColorfulConsoleManager(ApplicationName); var configManager = new ConfigManager(ConfigFilename); var ficsCore = new FICSCore(consoleManager, configManager, _textLogger); ficsCore.Run(); while (!Console.ReadLine().Contains("quit")) { ; } }