public SystemInformationBlockType15_r11 Decode(BitArrayInputStream input) { int num2; var _r = new SystemInformationBlockType15_r11(); _r.InitDefaults(); var flag = false; flag = input.ReadBit() != 0; var stream = flag ? new BitMaskStream(input, 3) : new BitMaskStream(input, 3); if (stream.Read()) { _r.mbms_SAI_IntraFreq_r11 = new List <long>(); num2 = 6; var num3 = input.ReadBits(num2) + 1; for (var i = 0; i < num3; i++) { long item = input.ReadBits(0x10); _r.mbms_SAI_IntraFreq_r11.Add(item); } } if (stream.Read()) { _r.mbms_SAI_InterFreqList_r11 = new List <MBMS_SAI_InterFreq_r11>(); num2 = 3; var num6 = input.ReadBits(num2) + 1; for (var j = 0; j < num6; j++) { var _r2 = MBMS_SAI_InterFreq_r11.PerDecoder.Instance.Decode(input); _r.mbms_SAI_InterFreqList_r11.Add(_r2); } } if (stream.Read()) { var nBits = input.ReadBits(8); _r.lateNonCriticalExtension = input.readOctetString(nBits); } if (flag) { var stream2 = new BitMaskStream(input, 1); if (!stream2.Read()) { return(_r); } _r.mbms_SAI_InterFreqList_v1140 = new List <MBMS_SAI_InterFreq_v1140>(); num2 = 3; var num8 = input.ReadBits(num2) + 1; for (var k = 0; k < num8; k++) { var _v = MBMS_SAI_InterFreq_v1140.PerDecoder.Instance.Decode(input); _r.mbms_SAI_InterFreqList_v1140.Add(_v); } } return(_r); }
public SystemInformationBlockType15_r11 Decode(BitArrayInputStream input) { int num2; var _r = new SystemInformationBlockType15_r11(); _r.InitDefaults(); var flag = false; flag = input.ReadBit() != 0; var stream = flag ? new BitMaskStream(input, 3) : new BitMaskStream(input, 3); if (stream.Read()) { _r.mbms_SAI_IntraFreq_r11 = new List<long>(); num2 = 6; var num3 = input.ReadBits(num2) + 1; for (var i = 0; i < num3; i++) { long item = input.ReadBits(0x10); _r.mbms_SAI_IntraFreq_r11.Add(item); } } if (stream.Read()) { _r.mbms_SAI_InterFreqList_r11 = new List<MBMS_SAI_InterFreq_r11>(); num2 = 3; var num6 = input.ReadBits(num2) + 1; for (var j = 0; j < num6; j++) { var _r2 = MBMS_SAI_InterFreq_r11.PerDecoder.Instance.Decode(input); _r.mbms_SAI_InterFreqList_r11.Add(_r2); } } if (stream.Read()) { var nBits = input.ReadBits(8); _r.lateNonCriticalExtension = input.readOctetString(nBits); } if (flag) { var stream2 = new BitMaskStream(input, 1); if (!stream2.Read()) { return _r; } _r.mbms_SAI_InterFreqList_v1140 = new List<MBMS_SAI_InterFreq_v1140>(); num2 = 3; var num8 = input.ReadBits(num2) + 1; for (var k = 0; k < num8; k++) { var _v = MBMS_SAI_InterFreq_v1140.PerDecoder.Instance.Decode(input); _r.mbms_SAI_InterFreqList_v1140.Add(_v); } } return _r; }