private void ParseDataEntry(IEnumerable<string> stringsToParse, ref bool error) { var entryToParse = new SignalDataEntry((int)_header.SignalElementCount); uint lastParsedTime = 0; foreach (string line in stringsToParse) { if (lastParsedTime < _header.EndTimeAsUnixTime) { if ((uint)entryToParse.ElementStatesCount < _header.SignalElementCount & !entryToParse.ParseData(line)) { error = true; } if ((uint)entryToParse.ElementStatesCount == _header.SignalElementCount) { entryToParse.Freeze(); _dataEntries.TryAdd(entryToParse.TimeAsUnixTime, entryToParse); lastParsedTime = entryToParse.TimeAsUnixTime; entryToParse = new SignalDataEntry((int)_header.SignalElementCount); } } } }
private string[] getElementStatesStrings(SignalDataEntry dataEntry) { var elementStates = new string[_header.SignalElementCount + 1]; elementStates[0] = dataEntry.Time.ToString(); for (uint i = 0; i < _header.SignalElementCount; i++) { uint uid = GetSignalElementByIndex((int)i).UID1; elementStates[i + 1] = dataEntry.GetElementState(uid).ElementState.ToString(); } return elementStates; }