void DataLink_OnDataReceive(object sender, Base.DataLinkEventArg e) { lock (_syncObj) { System.Diagnostics.Debug.WriteLine(string.Format("State = {0}, Rcv: {1}", this.State, e.Data.Replace(System.Environment.NewLine, string.Empty))); if (_state == eModemState.ONLINE_DATA_STATE) { _sb.Append(e.Data); var s = _sb.ToString(); if (s.EndsWith(TokenNoCarrier)) { MatchedNoCarrier(); this.State = eModemState.COMMAND_STATE; } else { ParseReceiveData(e); } } else { for (int i = 0; i < e.Data.Length; i++) { ParseChar(e.Data[i]); } } } }
protected virtual void ParseReceiveData(Base.DataLinkEventArg e) { this.Modem.RaiseDataReceivedEvent(e.Data); }