public MeasResults Decode(BitArrayInputStream input) { BitMaskStream stream2; MeasResults results = new MeasResults(); results.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 1); results.measId = input.ReadBits(5) + 1; results.measResultPCell = measResultPCell_Type.PerDecoder.Instance.Decode(input); if (stream.Read()) { results.measResultNeighCells = measResultNeighCells_Type.PerDecoder.Instance.Decode(input); } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { results.measResultForECID_r9 = MeasResultForECID_r9.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 2); if (stream2.Read()) { results.locationInfo_r10 = LocationInfo_r10.PerDecoder.Instance.Decode(input); } if (!stream2.Read()) { return(results); } results.measResultServFreqList_r10 = new List <MeasResultServFreq_r10>(); int nBits = 3; int num3 = input.ReadBits(nBits) + 1; for (int i = 0; i < num3; i++) { MeasResultServFreq_r10 item = MeasResultServFreq_r10.PerDecoder.Instance.Decode(input); results.measResultServFreqList_r10.Add(item); } } return(results); }
public MeasResults Decode(BitArrayInputStream input) { BitMaskStream stream2; MeasResults results = new MeasResults(); results.InitDefaults(); bool flag = input.readBit() != 0; BitMaskStream stream = new BitMaskStream(input, 1); results.measId = input.readBits(5) + 1; results.measResultPCell = measResultPCell_Type.PerDecoder.Instance.Decode(input); if (stream.Read()) { results.measResultNeighCells = measResultNeighCells_Type.PerDecoder.Instance.Decode(input); } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { results.measResultForECID_r9 = MeasResultForECID_r9.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 2); if (stream2.Read()) { results.locationInfo_r10 = LocationInfo_r10.PerDecoder.Instance.Decode(input); } if (!stream2.Read()) { return results; } results.measResultServFreqList_r10 = new List<MeasResultServFreq_r10>(); int nBits = 3; int num3 = input.readBits(nBits) + 1; for (int i = 0; i < num3; i++) { MeasResultServFreq_r10 item = MeasResultServFreq_r10.PerDecoder.Instance.Decode(input); results.measResultServFreqList_r10.Add(item); } } return results; }