public SystemInformationBlockType3 Decode(BitArrayInputStream input) { BitMaskStream stream2; var type = new SystemInformationBlockType3(); type.InitDefaults(); var flag = false; flag = input.readBit() != 0; var stream = flag ? new BitMaskStream(input, 1) : new BitMaskStream(input, 0); type.cellReselectionInfoCommon = cellReselectionInfoCommon_Type.PerDecoder.Instance.Decode(input); type.cellReselectionServingFreqInfo = cellReselectionServingFreqInfo_Type.PerDecoder.Instance.Decode(input); type.intraFreqCellReselectionInfo = intraFreqCellReselectionInfo_Type.PerDecoder.Instance.Decode(input); if (flag && stream.Read()) { var nBits = input.readBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } if (flag) { stream2 = new BitMaskStream(input, 4); if (stream2.Read()) { type.s_IntraSearch_v920 = s_IntraSearch_v920_Type.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.s_NonIntraSearch_v920 = s_NonIntraSearch_v920_Type.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.q_QualMin_r9 = input.readBits(5) + -34; } if (stream2.Read()) { type.threshServingLowQ_r9 = input.readBits(5); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { type.q_QualMinWB_r11 = input.readBits(5) + -34; } } return(type); }
public SystemInformationBlockType3 Decode(BitArrayInputStream input) { BitMaskStream stream2; SystemInformationBlockType3 type = new SystemInformationBlockType3(); type.InitDefaults(); bool flag = false; flag = input.readBit() != 0; BitMaskStream stream = flag ? new BitMaskStream(input, 1) : new BitMaskStream(input, 0); type.cellReselectionInfoCommon = cellReselectionInfoCommon_Type.PerDecoder.Instance.Decode(input); type.cellReselectionServingFreqInfo = cellReselectionServingFreqInfo_Type.PerDecoder.Instance.Decode(input); type.intraFreqCellReselectionInfo = intraFreqCellReselectionInfo_Type.PerDecoder.Instance.Decode(input); if (flag && stream.Read()) { int nBits = input.readBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } if (flag) { stream2 = new BitMaskStream(input, 4); if (stream2.Read()) { type.s_IntraSearch_v920 = s_IntraSearch_v920_Type.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.s_NonIntraSearch_v920 = s_NonIntraSearch_v920_Type.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.q_QualMin_r9 = input.readBits(5) + -34; } if (stream2.Read()) { type.threshServingLowQ_r9 = input.readBits(5); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { type.q_QualMinWB_r11 = input.readBits(5) + -34; } } return type; }