public void SetRunState(RUN_STATE State) { lock (this) { m_RunState = State; } }
public RUN_STATE GetRunState() { RUN_STATE State = RUN_STATE.RESERVED; lock (this) { State = m_RunState; } return(State); }
// Thread function to check NIC settings and force if // not right private void MonitorNICs(object oIn) { StateManager CurState = (StateManager)oIn; if (CurState.m_bShutdown) { return; } RUN_STATE Now = CurState.GetRunState(); if ((Now == RUN_STATE.DNSCRYPT_FULL) || (Now == RUN_STATE.DNSCRYPT_TCP) || (Now == RUN_STATE.SERVICE_RESTART)) { // Keep monitoring they are set to proxy CurState.SetNICsState(NICHandler.IP_CHOICES.LOCALHOST, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.LOCALHOST)); } else if (Now == RUN_STATE.SERVICE_RUNNING) { // Set the NICs to proxy CurState.SetNICsState(NICHandler.IP_CHOICES.LOCALHOST, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.LOCALHOST)); } else if (Now == RUN_STATE.OPENDNS_ONLY) { // Set the NICs to OpenDNS CurState.SetNICsState(NICHandler.IP_CHOICES.OPENDNS, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.OPENDNS)); } else if (Now == RUN_STATE.FAIL_CLOSED) { // Set NICs to Proxy CurState.SetNICsState(NICHandler.IP_CHOICES.LOCALHOST, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.LOCALHOST)); } else if (Now == RUN_STATE.FAIL_OPEN) { // Set the NICs to Default CurState.SetNICsState(NICHandler.IP_CHOICES.DEFAULT, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.DEFAULT)); } else if (Now == RUN_STATE.DEFAULT) { // Set or ensure NICs are original user settings CurState.SetNICsState(NICHandler.IP_CHOICES.DEFAULT, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.DEFAULT)); } else { // Set or ensure NICs are original user settings CurState.SetNICsState(NICHandler.IP_CHOICES.DEFAULT, NICHandler.EnsureNICsState(NICHandler.IP_CHOICES.DEFAULT)); } }
void statusBar1_StartStopClick(object sender, EventArgs e) { if (task.bRunning) { btn_menu.Label = StringResource.str("menu"); bt_run.Text = StringResource.str("start"); status = RUN_STATE.STOPPING; task.Stop(); return; } btn_menu.Label = StringResource.str("pause"); runstate.LoadScheme(); if (runstate.NumOfRunsLeft <= 0) { MsgDlg.Show("No valid selection"); return; } DoNextMeasure(); Program.testdata.ClearAll(); }
private void DoNextMeasure() { RsInfo rs = runstate.selectedRs.Dequeue(); RxInfo rx = runstate.selectedRx.Dequeue(); status = RUN_STATE.INITIALIZING; if (false) { SysConfig syscfg = Program.sysinfo; DeviceMgr.Log(String.Format(@"==== New Measurement Paramter======== Measure times = {0}\r\nRs ID = {1}\r\nRs Value = {2}\r\nRs Temp. Alpha = {3}\r\nRs Temp. Beta = {4}\r\n Temperature = {5}\r\nRx ID = {6}\r\nSample times = {7}\r\nSwitch delay = {8}\r\n Filter = {9}\r\nFilter Length = {10}\r\nMeasure delay = {12}\r\n AutoFilter = {13}\r\nRx curr. = {14}\r\n New Measurement Started...", syscfg.iMeasTimes.ToString(), rs.sSerial, rs.dValue.ToString("F8"), rs.dAlpha.ToString("F3"), rs.dBeta.ToString("F3"), syscfg.dTemp.ToString("F3"), rx.sSerial, syscfg.iSampleTimes, syscfg.iKTT, syscfg.sFilterType, syscfg.iFilter, syscfg.iMeasDelay, syscfg.bThrow, rx.iIx )); } task.Start(rx, rs); }
private static bool tmlock = false; //lock for timer handler void uiTimer_Tick(object sender, EventArgs e) { if (tmlock) { return; } tmlock = true; if (DeviceMgr.Loaded && status == RUN_STATE.DISABLED) { status = RUN_STATE.IDLE; } if (task.bRunning) { task.Step(); if (!task.bRunning) { status = RUN_STATE.IDLE; DeviceMgr.Log("Measurement Stopped..."); } } tmlock = false; }
void RunWnd_Load(object sender, EventArgs e) { status = RUN_STATE.DISABLED; Rectangle rect = new Rectangle(); // FullScreenClass.SetFullScreen(true, ref rect); }
private static bool tmlock = false; //lock for timer handler void uiTimer_Tick(object sender, EventArgs e) { if (tmlock) return; tmlock = true; if (DeviceMgr.Loaded && status == RUN_STATE.DISABLED) status = RUN_STATE.IDLE; if (task.bRunning) { task.Step(); if (!task.bRunning) { status = RUN_STATE.IDLE; DeviceMgr.Log("Measurement Stopped..."); } } tmlock = false; }
// Just checks if the DNSCrypt service is running, and forces the state // the user desires if not already in that state public void DoCheckServiceRunning(object oIn) { StateManager CurState = (StateManager)oIn; if (CurState.m_bShutdown) { return; } RUN_STATE State = CurState.GetRunState(); switch (State) { case RUN_STATE.SERVICE_RUNNING: case RUN_STATE.DNSCRYPT_FULL: if (!CurState.m_ServiceManager.IsServiceRunning()) { // Not running, launch one WriteToLog("Starting OpenDNS Service - " + CurState.m_ServiceManager.StartServiceProcess(CurState.GetDoDNSCryptTCP())); CurState.SetProxyRunning(false); } else if (CurState.m_ServiceManager.IsProxyRunning()) { // Everything is ok, the service exists CurState.SetProxyRunning(true); } break; case RUN_STATE.DNSCRYPT_TCP: if (!CurState.m_ServiceManager.IsServiceRunningInTcpMode()) { if (!CurState.m_ServiceManager.IsServiceRunning()) { // Not running, launch one WriteToLog("Starting OpenDNS Service - " + CurState.m_ServiceManager.StartServiceProcess(CurState.GetDoDNSCryptTCP())); } else { // Already running, restart CurState.m_ServiceManager.RestartServiceProcess(CurState.GetDoDNSCryptTCP()); } CurState.SetProxyRunning(false); } else if (CurState.m_ServiceManager.IsProxyRunning()) { // Everything is ok, the service exists CurState.SetProxyRunning(true); } break; case RUN_STATE.SERVICE_RESTART: CurState.m_ServiceManager.RestartServiceProcess(CurState.GetDoDNSCryptTCP()); CurState.SetProxyRunning(true); break; case RUN_STATE.FAIL_OPEN: // Keep the proxy running but set NICs to default if (!CurState.m_ServiceManager.IsServiceRunning()) { // Not running, launch one WriteToLog("Starting OpenDNS Service - " + CurState.m_ServiceManager.StartServiceProcess(CurState.GetDoDNSCryptTCP())); } else if (CurState.m_ServiceManager.IsServiceRunningInTcpMode() != CurState.GetDoDNSCryptTCP()) { CurState.m_ServiceManager.RestartServiceProcess(CurState.GetDoDNSCryptTCP()); } break; case RUN_STATE.FAIL_CLOSED: // Keep the proxy running and NICs pointed at it if (!CurState.m_ServiceManager.IsServiceRunning()) { // Not running, launch one WriteToLog("Starting OpenDNS Service - " + CurState.m_ServiceManager.StartServiceProcess(CurState.GetDoDNSCryptTCP())); } else if (CurState.m_ServiceManager.IsServiceRunningInTcpMode() != CurState.GetDoDNSCryptTCP()) { CurState.m_ServiceManager.RestartServiceProcess(CurState.GetDoDNSCryptTCP()); } break; case RUN_STATE.DEFAULT: // All we care about in other states is kill any processes hanging // around if we don't need them if (CurState.m_ServiceManager.IsServiceRunning()) { CurState.m_ServiceManager.KillServiceProcess(); CurState.SetProxyRunning(false); } break; default: // All we care about in other states is kill any processes hanging // around if we don't need them if (CurState.m_ServiceManager.IsServiceRunning()) { CurState.m_ServiceManager.KillServiceProcess(); CurState.SetProxyRunning(false); } break; } }