private void ProcessLinacStates() { AutoResetEvent evt = new AutoResetEvent(false); _processCommandEventHandler += Linac_ProcessCommandEvent; _dataAccess.Linac.ProcessCommandEvent += _processCommandEventHandler; for (; ;) { Dictionary <LinacPacketFormat.VariableIdEnum, object> parameterList = new Dictionary <LinacPacketFormat.VariableIdEnum, object>(); _dataAccess.Linac.GetOperatingParameters(ref parameterList); processUpdate(parameterList); evt.WaitOne(5000); } }
private void dataAccess_LinacConnectionStateChangeEvent(bool isConnected) { if (isConnected) { if (_StatesThread == null) { _StatesThread = new Thread(new ThreadStart(ProcessLinacStates)); _StatesThread.Start(); } } else { _dataAccess.Linac.ProcessCommandEvent -= _processCommandEventHandler; _processCommandEventHandler -= Linac_ProcessCommandEvent; _StatesThread.Abort(); _StatesThread = null; } }
private void ProcessLinacStates() { AutoResetEvent evt = new AutoResetEvent(false); _processCommandEventHandler += Linac_ProcessCommandEvent; _dataAccess.Linac.ProcessCommandEvent += _processCommandEventHandler; for (; ; ) { Dictionary<LinacPacketFormat.VariableIdEnum, object> parameterList = new Dictionary<LinacPacketFormat.VariableIdEnum, object>(); _dataAccess.Linac.GetOperatingParameters(ref parameterList); processUpdate(parameterList); evt.WaitOne(5000); } }