/// <summary> /// Checks and initialises all the components for the application. /// </summary> static bool Init() { bool ok; // Set the error level Logger.Level = Logger.LogLevel.Info; // Loads all settings Config = LoadConfig(); if (Config == null) return false; // Get port for the http server int httpPort = Config.Get("httpPort") ?? 80; // Get port for the websocket server int websocketPort = Config.Get("websocketPort") ?? 81; // Get the media detector polling interval int mediaPollingInterval = Config.Get("mediaPollingInterval") ?? 3000; // Load devices from config var devices = Config.Get("devices"); if (devices is IEnumerable<JToken>) Devices.Device.Parse(devices as IEnumerable); // Init the server var server = new Server.ToucheeServer(httpPort, websocketPort); // Build plugin context IPluginContext pluginContext = new ToucheePluginContext(server); // Loads all plugins if (!LoadPlugins(pluginContext)) return false; // Kickstart WinLirc client var wlc = Devices.WinLirc.Client; // Init the library var library = Library.Instance; library.Init(server, mediaPollingInterval); // Start server if (!server.Start()) { Shutdown("Could not start server"); return false; } // Show the form Logger.Log("Loading complete!", Logger.LogLevel.Info); var mainForm = new Forms.Main(); Application.Run(mainForm); // Done return true; }
/// <summary> /// Checks and initialises all the components for the application. /// </summary> static bool Init() { bool ok; // Set the error level Logger.Level = Logger.LogLevel.Info; // Loads all settings Config = LoadConfig(); if (Config == null) { return(false); } // Get port for the http server int httpPort = Config.Get("httpPort") ?? 80; // Get port for the websocket server int websocketPort = Config.Get("websocketPort") ?? 81; // Get the media detector polling interval int mediaPollingInterval = Config.Get("mediaPollingInterval") ?? 3000; // Load devices from config var devices = Config.Get("devices"); if (devices is IEnumerable <JToken> ) { Devices.Device.Parse(devices as IEnumerable); } // Init the server var server = new Server.ToucheeServer(httpPort, websocketPort); // Build plugin context IPluginContext pluginContext = new ToucheePluginContext(server); // Loads all plugins if (!LoadPlugins(pluginContext)) { return(false); } // Kickstart WinLirc client var wlc = Devices.WinLirc.Client; // Init the library var library = Library.Instance; library.Init(server, mediaPollingInterval); // Start server if (!server.Start()) { Shutdown("Could not start server"); return(false); } // Show the form Logger.Log("Loading complete!", Logger.LogLevel.Info); var mainForm = new Forms.Main(); Application.Run(mainForm); // Done return(true); }