public static IdentificationMessage ReadFromBms1Stream(IBms1Reader reader) { return reader.ReadBlock( () => new IdentificationMessage() { InterfaceName = reader.ReadString(), InterfaceVersion = reader.ReadInt16(), ApplicationName = reader.ReadString(), ApplicationVersion = VersionBase.ReadFromBms1Stream(reader), ApplicationInstance = reader.ReadString(), }); }
public string AdditionaInfo = "None"; // not transferred before V.2 internal static VersionPLC CreateFromBms1Stream(IBms1Reader reader) { return reader.ReadBlock(()=> { var dto = new VersionPLC(); dto.Version = reader.ReadString(); dto.CpuType = reader.ReadEnum<CpuType>(); if (!reader.Internal.EndOfBlock) { // starting with V.2, more data is transferred. When sender has V.1, AdditionaInfo is "None". dto.AdditionaInfo = reader.ReadString(); } return dto; }); }