public ReportConfigInterRAT Decode(BitArrayInputStream input) { BitMaskStream stream; ReportConfigInterRAT rrat = new ReportConfigInterRAT(); rrat.InitDefaults(); bool flag = input.readBit() != 0; rrat.triggerType = triggerType_Type.PerDecoder.Instance.Decode(input); rrat.maxReportCells = input.readBits(3) + 1; int nBits = 4; rrat.reportInterval = (ReportInterval)input.readBits(nBits); nBits = 3; rrat.reportAmount = (reportAmount_Enum)input.readBits(nBits); if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { nBits = 1; rrat.si_RequestForHO_r9 = (si_RequestForHO_r9_Enum)input.readBits(nBits); } } if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { nBits = 1; rrat.reportQuantityUTRA_FDD_r10 = (reportQuantityUTRA_FDD_r10_Enum)input.readBits(nBits); } } if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { rrat.includeLocationInfo_r11 = input.readBit() == 1; } } return(rrat); }
public ReportConfigInterRAT Decode(BitArrayInputStream input) { BitMaskStream stream; ReportConfigInterRAT rrat = new ReportConfigInterRAT(); rrat.InitDefaults(); bool flag = input.ReadBit() != 0; rrat.triggerType = triggerType_Type.PerDecoder.Instance.Decode(input); rrat.maxReportCells = input.ReadBits(3) + 1; int nBits = 4; rrat.reportInterval = (ReportInterval)input.ReadBits(nBits); nBits = 3; rrat.reportAmount = (reportAmount_Enum)input.ReadBits(nBits); if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { nBits = 1; rrat.si_RequestForHO_r9 = (si_RequestForHO_r9_Enum)input.ReadBits(nBits); } } if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { nBits = 1; rrat.reportQuantityUTRA_FDD_r10 = (reportQuantityUTRA_FDD_r10_Enum)input.ReadBits(nBits); } } if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { rrat.includeLocationInfo_r11 = input.ReadBit() == 1; } } return rrat; }