public BlackCellsToAddMod Decode(BitArrayInputStream input) { BlackCellsToAddMod mod = new BlackCellsToAddMod(); mod.InitDefaults(); mod.cellIndex = input.readBits(5) + 1; mod.physCellIdRange = PhysCellIdRange.PerDecoder.Instance.Decode(input); return(mod); }
public BlackCellsToAddMod Decode(BitArrayInputStream input) { BlackCellsToAddMod mod = new BlackCellsToAddMod(); mod.InitDefaults(); mod.cellIndex = input.readBits(5) + 1; mod.physCellIdRange = PhysCellIdRange.PerDecoder.Instance.Decode(input); return mod; }
public MeasObjectEUTRA Decode(BitArrayInputStream input) { int num3; int num4; long num5; BitMaskStream stream3; MeasObjectEUTRA teutra = new MeasObjectEUTRA(); teutra.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 1); BitMaskStream stream2 = new BitMaskStream(input, 5); teutra.carrierFreq = input.ReadBits(0x10); int nBits = 3; teutra.allowedMeasBandwidth = (AllowedMeasBandwidth)input.ReadBits(nBits); teutra.presenceAntennaPort1 = input.ReadBit() == 1; teutra.neighCellConfig = input.ReadBitString(2); if (stream.Read()) { nBits = 5; teutra.offsetFreq = (Q_OffsetRange)input.ReadBits(nBits); } if (stream2.Read()) { teutra.cellsToRemoveList = new List <long>(); nBits = 5; num3 = input.ReadBits(nBits) + 1; for (num4 = 0; num4 < num3; num4++) { num5 = input.ReadBits(5) + 1; teutra.cellsToRemoveList.Add(num5); } } if (stream2.Read()) { teutra.cellsToAddModList = new List <CellsToAddMod>(); nBits = 5; int num6 = input.ReadBits(nBits) + 1; for (int i = 0; i < num6; i++) { CellsToAddMod item = CellsToAddMod.PerDecoder.Instance.Decode(input); teutra.cellsToAddModList.Add(item); } } if (stream2.Read()) { teutra.blackCellsToRemoveList = new List <long>(); nBits = 5; num3 = input.ReadBits(nBits) + 1; for (num4 = 0; num4 < num3; num4++) { num5 = input.ReadBits(5) + 1; teutra.blackCellsToRemoveList.Add(num5); } } if (stream2.Read()) { teutra.blackCellsToAddModList = new List <BlackCellsToAddMod>(); nBits = 5; int num8 = input.ReadBits(nBits) + 1; for (int j = 0; j < num8; j++) { BlackCellsToAddMod mod2 = BlackCellsToAddMod.PerDecoder.Instance.Decode(input); teutra.blackCellsToAddModList.Add(mod2); } } if (stream2.Read()) { teutra.cellForWhichToReportCGI = input.ReadBits(9); } if (flag) { stream3 = new BitMaskStream(input, 2); if (stream3.Read()) { nBits = 3; teutra.measCycleSCell_r10 = (MeasCycleSCell_r10)input.ReadBits(nBits); } if (stream3.Read()) { teutra.measSubframePatternConfigNeigh_r10 = MeasSubframePatternConfigNeigh_r10.PerDecoder.Instance.Decode(input); } } if (flag) { stream3 = new BitMaskStream(input, 1); if (stream3.Read()) { teutra.widebandRSRQ_Meas_r11 = input.ReadBit() == 1; } } if (flag) { stream3 = new BitMaskStream(input, 2); if (stream3.Read()) { teutra.altTTT_CellsToRemoveList_r12 = new List <long>(); nBits = 5; num3 = input.ReadBits(nBits) + 1; for (num4 = 0; num4 < num3; num4++) { num5 = input.ReadBits(5) + 1; teutra.altTTT_CellsToRemoveList_r12.Add(num5); } } if (!stream3.Read()) { return(teutra); } teutra.altTTT_CellsToAddModList_r12 = new List <AltTTT_CellsToAddMod_r12>(); nBits = 5; int num10 = input.ReadBits(nBits) + 1; for (int k = 0; k < num10; k++) { AltTTT_CellsToAddMod_r12 _r = AltTTT_CellsToAddMod_r12.PerDecoder.Instance.Decode(input); teutra.altTTT_CellsToAddModList_r12.Add(_r); } } return(teutra); }