public static void Main(String[] args) { try { // Init hw monitor. var computer = new Computer { GPUEnabled = true }; Output.Write("Initializing hardware monitor...", ConsoleColor.Yellow); computer.Open(); Output.WriteLine("OK!", ConsoleColor.Yellow); // Init superviser params. var prms = new SuperviserParameters { Args = args.Parse(), Process = new Process(), Computer = computer, Timer = new Timer(), UtilityManager = new UtilityManager() }; // Start superviser. new Superviser(prms).Start(); } catch (Exception ex) { Output.WriteLine(ex.Message, ConsoleColor.Red); } }
/// <summary> /// Create instance of superviser. /// </summary> /// <param name="parameters">Superviser parameters.</param> public Superviser(SuperviserParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } supervisedProcess = parameters.Process ?? throw new ArgumentNullException(nameof(parameters.Process)); args = parameters.Args ?? throw new ArgumentNullException(nameof(parameters.Args)); timer = parameters.Timer ?? throw new ArgumentNullException(nameof(parameters.Timer)); computer = parameters.Computer ?? throw new ArgumentNullException(nameof(parameters.Computer)); utilMgr = parameters.UtilityManager ?? throw new ArgumentNullException(nameof(parameters.UtilityManager)); }