public RedirectedCarrierInfo Decode(BitArrayInputStream input) { RedirectedCarrierInfo info = new RedirectedCarrierInfo(); info.InitDefaults(); bool flag = input.ReadBit() != 0; switch (input.ReadBits(3)) { case 0: info.eutra = input.ReadBits(0x10); return(info); case 1: info.geran = CarrierFreqsGERAN.PerDecoder.Instance.Decode(input); return(info); case 2: info.utra_FDD = input.ReadBits(14); return(info); case 3: info.utra_TDD = input.ReadBits(14); return(info); case 4: info.cdma2000_HRPD = CarrierFreqCDMA2000.PerDecoder.Instance.Decode(input); return(info); case 5: info.cdma2000_1xRTT = CarrierFreqCDMA2000.PerDecoder.Instance.Decode(input); return(info); case 6: if (flag) { info.utra_TDD_r10 = new List <long>(); int nBits = 3; int num4 = input.ReadBits(nBits) + 1; for (int i = 0; i < num4; i++) { long item = input.ReadBits(14); info.utra_TDD_r10.Add(item); } } return(info); } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
public RedirectedCarrierInfo Decode(BitArrayInputStream input) { RedirectedCarrierInfo info = new RedirectedCarrierInfo(); info.InitDefaults(); bool flag = input.readBit() != 0; switch (input.readBits(3)) { case 0: info.eutra = input.readBits(0x10); return info; case 1: info.geran = CarrierFreqsGERAN.PerDecoder.Instance.Decode(input); return info; case 2: info.utra_FDD = input.readBits(14); return info; case 3: info.utra_TDD = input.readBits(14); return info; case 4: info.cdma2000_HRPD = CarrierFreqCDMA2000.PerDecoder.Instance.Decode(input); return info; case 5: info.cdma2000_1xRTT = CarrierFreqCDMA2000.PerDecoder.Instance.Decode(input); return info; case 6: if (flag) { info.utra_TDD_r10 = new List<long>(); int nBits = 3; int num4 = input.readBits(nBits) + 1; for (int i = 0; i < num4; i++) { long item = input.readBits(14); info.utra_TDD_r10.Add(item); } } return info; } throw new Exception(GetType().Name + ":NoChoice had been choose"); }