예제 #1
0
        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);
            }
        }
예제 #2
0
 /// <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));
 }