public AS_Config Decode(BitArrayInputStream input) { BitMaskStream stream; AS_Config config = new AS_Config(); config.InitDefaults(); bool flag = input.readBit() != 0; config.sourceMeasConfig = MeasConfig.PerDecoder.Instance.Decode(input); config.sourceRadioResourceConfig = RadioResourceConfigDedicated.PerDecoder.Instance.Decode(input); config.sourceSecurityAlgorithmConfig = SecurityAlgorithmConfig.PerDecoder.Instance.Decode(input); config.sourceUE_Identity = input.readBitString(0x10); config.sourceMasterInformationBlock = MasterInformationBlock.PerDecoder.Instance.Decode(input); config.sourceSystemInformationBlockType1 = SystemInformationBlockType1.PerDecoder.Instance.Decode(input); config.sourceSystemInformationBlockType2 = SystemInformationBlockType2.PerDecoder.Instance.Decode(input); config.antennaInfoCommon = AntennaInfoCommon.PerDecoder.Instance.Decode(input); config.sourceDl_CarrierFreq = input.readBits(0x10); if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { int nBits = input.readBits(8); config.sourceSystemInformationBlockType1Ext = input.readOctetString(nBits); } config.sourceOtherConfig_r9 = OtherConfig_r9.PerDecoder.Instance.Decode(input); } if (flag) { stream = new BitMaskStream(input, 1); if (!stream.Read()) { return(config); } config.sourceSCellConfigList_r10 = new List <SCellToAddMod_r10>(); int num2 = 2; int num3 = input.readBits(num2) + 1; for (int i = 0; i < num3; i++) { SCellToAddMod_r10 item = SCellToAddMod_r10.PerDecoder.Instance.Decode(input); config.sourceSCellConfigList_r10.Add(item); } } return(config); }
public AS_Config Decode(BitArrayInputStream input) { BitMaskStream stream; AS_Config config = new AS_Config(); config.InitDefaults(); bool flag = input.readBit() != 0; config.sourceMeasConfig = MeasConfig.PerDecoder.Instance.Decode(input); config.sourceRadioResourceConfig = RadioResourceConfigDedicated.PerDecoder.Instance.Decode(input); config.sourceSecurityAlgorithmConfig = SecurityAlgorithmConfig.PerDecoder.Instance.Decode(input); config.sourceUE_Identity = input.readBitString(0x10); config.sourceMasterInformationBlock = MasterInformationBlock.PerDecoder.Instance.Decode(input); config.sourceSystemInformationBlockType1 = SystemInformationBlockType1.PerDecoder.Instance.Decode(input); config.sourceSystemInformationBlockType2 = SystemInformationBlockType2.PerDecoder.Instance.Decode(input); config.antennaInfoCommon = AntennaInfoCommon.PerDecoder.Instance.Decode(input); config.sourceDl_CarrierFreq = input.readBits(0x10); if (flag) { stream = new BitMaskStream(input, 1); if (stream.Read()) { int nBits = input.readBits(8); config.sourceSystemInformationBlockType1Ext = input.readOctetString(nBits); } config.sourceOtherConfig_r9 = OtherConfig_r9.PerDecoder.Instance.Decode(input); } if (flag) { stream = new BitMaskStream(input, 1); if (!stream.Read()) { return config; } config.sourceSCellConfigList_r10 = new List<SCellToAddMod_r10>(); int num2 = 2; int num3 = input.readBits(num2) + 1; for (int i = 0; i < num3; i++) { SCellToAddMod_r10 item = SCellToAddMod_r10.PerDecoder.Instance.Decode(input); config.sourceSCellConfigList_r10.Add(item); } } return config; }