public SystemInformationBlockType11 Decode(BitArrayInputStream input) { var type = new SystemInformationBlockType11(); 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); const int num2 = 1; type.warningMessageSegmentType = (warningMessageSegmentType_Enum)input.ReadBits(num2); type.warningMessageSegmentNumber = input.ReadBits(6); var nBits = input.ReadBits(8); type.warningMessageSegment = input.readOctetString(nBits); if (stream.Read()) { type.dataCodingScheme = input.readOctetString(1); } if (flag && stream.Read()) { nBits = input.ReadBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } return(type); }
public SystemInformationBlockType11 Decode(BitArrayInputStream input) { var type = new SystemInformationBlockType11(); 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); const int num2 = 1; type.warningMessageSegmentType = (warningMessageSegmentType_Enum)input.ReadBits(num2); type.warningMessageSegmentNumber = input.ReadBits(6); var nBits = input.ReadBits(8); type.warningMessageSegment = input.readOctetString(nBits); if (stream.Read()) { type.dataCodingScheme = input.readOctetString(1); } if (flag && stream.Read()) { nBits = input.ReadBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } return type; }