public HardwareValuesRecorderMenuController(ContextMenuController cmc, HardwareMonitorType hwmTypes)
            {
                _cmc = cmc;
                _hardwareValuesMap = new Dictionary <HardwareMonitorType, ICollection <Tuple <float, DateTime> > >();
                _hardwareLabelsMap = new Dictionary <HardwareMonitorType, ToolStripLabel>();

                if (hwmTypes.HasFlag(HardwareMonitorType.Temperature))
                {
                    var label = new ToolStripLabel(_TEMPERATURE_TEXT);
                    label.Name = _TEMPERATURE_TEXT;
                    _hardwareValuesMap.Add(HardwareMonitorType.Temperature, new LinkedList <Tuple <float, DateTime> >());
                    _hardwareLabelsMap.Add(HardwareMonitorType.Temperature, label);
                    _cmc._logsItem.DropDown.Items.Insert(0, label);
                }
            }
        public HardwareMonitorController()
        {
            Application.ApplicationExit += (s, e) => CloseAll();

            _menuController = new ContextMenuController(this);
            _menuController.OnRestartClicked += () =>
            {
                //if the privileges requested are different that the ones acquired
                if (_clientSettings.StartProgramAsAdmin != UACUtils.IsUserAdministrator)
                {
                    ProcessUtils.RerunCurrentProcess(_clientSettings.StartProgramAsAdmin);
                    Application.Exit();
                }
                else
                {
                    Application.Restart();
                }
            };

            _menuController.OnExitClicked += () =>
            {
                CloseAll();
                Application.Exit();
            };

            _remoteTemperatureMonitor = new RemoteTemperatureMonitor();
            _remoteTemperatureMonitor.OnEventTriggered += () =>
            {
                NotifyTemperature();
            };

            if (_clientSettings.StartupNotification)
            {
                _menuController.ShowNotification($"The program has been started successfully");
            }
        }