Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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();
        }