private void OnComPortCollectionChanged(object sender, CollectionChangeEventArgs args) { if (args.Action == CollectionChangeAction.Remove) { ComPort comPort = (ComPort)args.Element; ComPortHandle handle = comPort.ComPortHandle; if (handle == _comPortHandle) { StartListener(); } } }
private int FindConnectDataIndex( ComPortHandle handle ) { for (int i = 0; i < _connectData.Length; i++) { NamedPipeConnectData connectData = _connectData[i]; if (connectData != null && connectData._comPortHandle == handle) { return i; } } return -1; }
private int FindConnectDataIndex(ComPortHandle handle) { for (int i = 0; i < _connectData.Length; i++) { NamedPipeConnectData connectData = _connectData[i]; if (connectData != null && connectData._comPortHandle == handle) { return(i); } } return(-1); }
public void RegisterNamedPipe( string pipeName, ComPortHandle handle ) { Debug.Assert( FindConnectDataIndex( handle ) == -1 ); Debug.Assert(this.Emulator.State < Emulator.EmulatorState.Initialize); //thread safety?? NamedPipeConnectData connectData = new NamedPipeConnectData(); connectData._comPortHandle = handle; connectData._pipeName = pipeName; InitializeConnectData( connectData ); NamedPipeConnectData[] connectDataNew = new NamedPipeConnectData[_connectData.Length + 1]; Array.Copy( _connectData, connectDataNew, _connectData.Length ); connectDataNew[_connectData.Length] = connectData; _connectData = connectDataNew; _areClients.Set(); }
public void RegisterNamedPipe(string pipeName, ComPortHandle handle) { Debug.Assert(FindConnectDataIndex(handle) == -1); Debug.Assert(this.Emulator.State < Emulator.EmulatorState.Initialize); //thread safety?? NamedPipeConnectData connectData = new NamedPipeConnectData(); connectData._comPortHandle = handle; connectData._pipeName = pipeName; InitializeConnectData(connectData); NamedPipeConnectData[] connectDataNew = new NamedPipeConnectData[_connectData.Length + 1]; Array.Copy(_connectData, connectDataNew, _connectData.Length); connectDataNew[_connectData.Length] = connectData; _connectData = connectDataNew; _areClients.Set(); }