public VaiListener(INamedPort namedPort, PortDataParser portDataParser, int lineTimeoutSeconds = 300) { NamedPort = namedPort; PortDataParser = portDataParser; lineTimeoutManager = new LineTimeoutManager(this); lineTimeoutManager.LineIdleTimeout = TimeSpan.FromSeconds(lineTimeoutSeconds); }
private void ProcessSmsAwsMsg(INamedPort virtualPort, string curMessage, bool qmlLogFileData) { var measMsg = smsAwsParser.ParseMessageIntoMeasMsg(curMessage, virtualPort); if (measMsg != null) { var parserStatus = GetParsingStatus(measMsg); if (RemoveDuplicateMessages) { if (duplicateMessageAssistant.DuplicateMeasMsgDetected(measMsg)) { portListenerEventHandler.ProcessPortStatusData(virtualPort, parserStatus); return; } } if (qmlLogFileData) { portListenerEventHandler.ProcessLogFileData(virtualPort, measMsg); } else { portListenerEventHandler.ProcessObservationData(virtualPort, measMsg, curMessage); portListenerEventHandler.ProcessPortStatusData(virtualPort, parserStatus); } } }
private void LogInputData(string text, INamedPort virtualPort) { if (virtualPort.RemoteSocketName == null) { return; } if (WriteAllInputIntoLog) { if (WriteAllInputPortIntoLog) { SimpleFileWriter.WriteLineToEventFile(DirectoryName.Input, string.Concat(virtualPort.RemoteSocketName , "_" , virtualPort.LocalSocketName , text.Replace("\r", "<CR>").Replace("\n", "<NL>"))); } else { SimpleFileWriter.WriteLineToEventFile(DirectoryName.Input, text.Replace("\r", "<CR>").Replace("\n", "<NL>")); } } }
internal void PlainTextReceived(string text, INamedPort virtualPort) { LogInputData(text, virtualPort); // To dialler task, to mmoc console terminal portListenerEventHandler.ProcessPlainText(virtualPort, text); }
public MeasMsg ParseMessageIntoMeasMsg(string data, INamedPort virtualPort = null) { this.virtualPort = virtualPort; IList <string> sc = ParseMessage(data); var measMsg = new MeasMsg(); var sb = new StringBuilder(); foreach (var s in sc) { sb.Append(s); } if (!measMsg.Initialise(sb.ToString())) { return(null); } if (RoundSecondsToClosestFullMinute) { var timeSpan = measMsg.Time.TimeOfDay; if (timeSpan.Seconds < 30) { timeSpan = timeSpan.Add(-TimeSpan.FromSeconds(timeSpan.Seconds)); } else { timeSpan = timeSpan.Add(TimeSpan.FromSeconds(60 - timeSpan.Seconds)); } measMsg.Time = measMsg.Time.Date.Add(timeSpan); } return(measMsg); }
private void ProcessSmsAwsObservationData(INamedPort virtualPort, string text, bool qmlLogFileData = false) { //if (UseCrc32WithSmsAWS) //{ // var ok = crc32Checker.CheckSmsAwsMessage(text); // if (!ok) // { // var parserStatus = StringManager.GetString("Crc32 check failure "); // SimpleFileWriter.WriteLineToEventFile(DirectoryName.EventLog, parserStatus + text); // portListenerEventHandler.ProcessPortStatusData(virtualPort, parserStatus); // return; // } //} smsAwsMmessages = SmsAwsPreParser.FindSmsAwsSubMessages(text); if (smsAwsMmessages.Count == 0) { return; } smsAwsMmessages.ForEach(curMessage => ProcessSmsAwsMsg(virtualPort, curMessage, qmlLogFileData) ); // trigger event informing the last message has been processed. if (qmlLogFileData) { int index = smsAwsMmessages.Count - 1; var measMsg = smsAwsParser.ParseMessageIntoMeasMsg(smsAwsMmessages[index], virtualPort); portListenerEventHandler.OnEndOfLogFileData(virtualPort, measMsg); } }
internal void RegisterMessage(INamedPort namedPort) { try { if (namedPort == null) { return; } if (namedPort.RemoteSocketName == null) { return; } var key = namedPort.RemoteSocketName; if (!channelDataCount.ContainsKey(key)) { channelDataCount.Add(key, 0); } channelDataCount[key]++; if (DateTime.Now.Subtract(lastChannelDataCountReset) > OneHour) { PrintChannelDataCount(); } } catch (Exception ex) { ExceptionHandler.HandleException(ex, "RegisterMessage"); } }
internal void ProcessCouldNotConnectError(INamedPort port, string error) { var e = new PortListenerEventArgs(port, error); if (PortListenerCouldNotConnectEvent != null) { PortListenerCouldNotConnectEvent(this, e); } }
public void OnEndOfLogFileData(INamedPort port, MeasMsg measMsg) { var e = new PortListenerEventArgs(port, measMsg); if (EndOfLogFileData != null) { EndOfLogFileData(this, e); } }
internal void ProcessPortStatusData(INamedPort port, string msg) { var e = new PortListenerEventArgs(port, msg); if (PortStatusEvent != null) { PortStatusEvent(this, e); } }
public void ProcessLogFileData(INamedPort port, MeasMsg measMsg) { var e = new PortListenerEventArgs(port, measMsg); if (PortListenerLogFileEvent != null) { PortListenerLogFileEvent(this, e); } }
internal void ProcessOttParsivelData(INamedPort port, MeasMsg measMsg, string text) { var e = new PortListenerEventArgs(port, measMsg, text); if (OttParsivelEvent != null) { OttParsivelEvent(this, e); } }
// used by mmoc and modem task, smsmodem task internal void ProcessPlainText(INamedPort port, string messageText) { var e = new PortListenerEventArgs(port, messageText); if (PortListenerPlainTextEvent != null) { PortListenerPlainTextEvent(this, e); } }
internal void ProcessObservationData(INamedPort port, MeasMsg measMsg, string text) { var e = new PortListenerEventArgs(port, measMsg, text); if (PortListenerMeasMsgEvent != null) { PortListenerMeasMsgEvent(this, e); } }
internal void ProcessUnparsedData(INamedPort port, string text) { var e = new PortListenerEventArgs(port, text); if (UnparsedMsgEvent != null) { UnparsedMsgEvent(this, e); } }
internal void ProcessModemEventData(INamedPort port, string msg) { var e = new PortListenerEventArgs(port, msg); if (SerialModemEvent != null) { SerialModemEvent(this, e); } }
private static void ProcessObservationData(INamedPort virtualPort, string text, ParserBase parser) { MeasMsg msg = parser.ParseMessageIntoMeasMsg(text, virtualPort); // To AwsDataReceiver && Observation Console if (msg != null) // msg will be null if garbage was received { portListenerEventHandler.ProcessObservationData(virtualPort, msg, text); } }
private void ProcessAwacNMEAObservationData(INamedPort virtualPort, string text) { MeasMsg msg = this.awacNmeaParser.Parse(text); // To AwsDataReceiver && Observation Console if (msg != null) // msg will be null if garbage was received { portListenerEventHandler.ProcessObservationData(virtualPort, msg, text); } }
private void ProcessYourViewObservationData(INamedPort virtualPort, string text) { MeasMsg msg; yourViewParser.Parse(text, out msg); // To AwsDataReceiver && Observation Console if (msg != null) // msg will be null if garbage was received { portListenerEventHandler.ProcessObservationData(virtualPort, msg, text); } }
private static void ProcessWxtArObservationData(INamedPort virtualPort, string text) { try { var msg = wxtArParser.Parse(text); // To AwsDataReceiver && Observation Console if (msg != null) // msg will be null if garbage was received { portListenerEventHandler.ProcessObservationData(virtualPort, msg, text); } } catch (Exception ex) { ExceptionHandler.HandleException(ex, "Wxt AR message"); } }
private static bool ProcessCeiloObservationData(INamedPort virtualPort, string text) { try { MeasMsg measMsg; var ok = ceiloMsg61Parser.Parse(text, out measMsg); if (ok) { portListenerEventHandler.ProcessObservationData(virtualPort, measMsg, text); } return(ok); } catch (Exception ex) { ExceptionHandler.HandleException("ProcessCeiloObservationData", ex); return(false); } }
internal static void RaiseTextReceived(INamedPort ivp, string messageText) { int test = 0; try { test = 1; var e = new NamedPortEventArgs(NamedPortEventArgs.PortEventType.TextReceived, messageText, ivp); test++; if (VirtualPortEvent != null) { test = 10; VirtualPortEvent(ivp, e); test = 11; } } catch (Exception ex) { ExceptionHandler.HandleException("RaiseTextReceived:" + test + ">", ex); } }
internal static void RaiseDialUpModemEvent(INamedPort port, string text) { var e = new NamedPortEventArgs(NamedPortEventArgs.PortEventType.ModemEvent, text, port); VirtualPortEvent?.Invoke(port, e); }
internal static void RaiseLineTimeoutEvent(INamedPort ivp) { var e = new NamedPortEventArgs(NamedPortEventArgs.PortEventType.LineIdleTimeout, ivp); VirtualPortEvent?.Invoke(ivp, e); }
internal static void RaiseByteReceivedEvent(INamedPort ivp, byte messageBytes) { var e = new NamedPortEventArgs(NamedPortEventArgs.PortEventType.ByteReceived, messageBytes, ivp); VirtualPortEvent?.Invoke(ivp, e); }
internal PortListenerEventArgs(INamedPort port, MeasMsg measMsg, string text) { _text = text; virtualPort = port; this.measMsg = measMsg; }
internal PortListenerEventArgs(INamedPort port, string text) { _text = text; virtualPort = port; }
private static void ProcessPwdMsg7(INamedPort virtualPort, string text) { var parser = pwdMsg7Parser; ProcessObservationData(virtualPort, text, parser); }
internal static void RaiseTextWithEndCharReceived(INamedPort ivp, string messageText) { var e = new NamedPortEventArgs(NamedPortEventArgs.PortEventType.DataWithEndCharReceived, messageText, ivp); VirtualPortEvent?.Invoke(ivp, e); }
internal PortListenerEventArgs(INamedPort port, MeasMsg msg) { measMsg = msg; virtualPort = port; }