public SystemInformationBlockType10 Decode(BitArrayInputStream input) { var type = new SystemInformationBlockType10(); type.InitDefaults(); var flag = input.ReadBit() != 0; var stream = flag ? new BitMaskStream(input, 2) : new BitMaskStream(input, 1); type.messageIdentifier = input.ReadBitString(0x10); type.serialNumber = input.ReadBitString(0x10); type.warningType = input.readOctetString(2); if (stream.Read()) { type.dummy = input.readOctetString(50); } if (flag && stream.Read()) { var nBits = input.ReadBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } return type; }
public SystemInformationBlockType10 Decode(BitArrayInputStream input) { var type = new SystemInformationBlockType10(); type.InitDefaults(); var flag = input.ReadBit() != 0; var stream = flag ? new BitMaskStream(input, 2) : new BitMaskStream(input, 1); type.messageIdentifier = input.ReadBitString(0x10); type.serialNumber = input.ReadBitString(0x10); type.warningType = input.readOctetString(2); if (stream.Read()) { type.dummy = input.readOctetString(50); } if (flag && stream.Read()) { var nBits = input.ReadBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } return(type); }