public MAC_MainConfig Decode(BitArrayInputStream input) { BitMaskStream stream2; MAC_MainConfig config = new MAC_MainConfig(); config.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 3); if (stream.Read()) { config.ul_SCH_Config = ul_SCH_Config_Type.PerDecoder.Instance.Decode(input); } if (stream.Read()) { config.drx_Config = DRX_Config.PerDecoder.Instance.Decode(input); } int nBits = 3; config.timeAlignmentTimerDedicated = (TimeAlignmentTimer)input.ReadBits(nBits); if (stream.Read()) { config.phr_Config = phr_Config_Type.PerDecoder.Instance.Decode(input); } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { config.sr_ProhibitTimer_r9 = input.ReadBits(3); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { config.mac_MainConfig_v1020 = mac_MainConfig_v1020_Type.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 3); if (stream2.Read()) { config.stag_ToReleaseList_r11 = new List <long>(); nBits = 2; int num3 = input.ReadBits(nBits) + 1; for (int i = 0; i < num3; i++) { long item = input.ReadBits(2) + 1; config.stag_ToReleaseList_r11.Add(item); } } if (stream2.Read()) { config.stag_ToAddModList_r11 = new List <STAG_ToAddMod_r11>(); nBits = 2; int num6 = input.ReadBits(nBits) + 1; for (int j = 0; j < num6; j++) { STAG_ToAddMod_r11 _r = STAG_ToAddMod_r11.PerDecoder.Instance.Decode(input); config.stag_ToAddModList_r11.Add(_r); } } if (stream2.Read()) { config.drx_Config_v1130 = DRX_Config_v1130.PerDecoder.Instance.Decode(input); } } return(config); }
public MAC_MainConfig Decode(BitArrayInputStream input) { BitMaskStream stream2; MAC_MainConfig config = new MAC_MainConfig(); config.InitDefaults(); bool flag = input.readBit() != 0; BitMaskStream stream = new BitMaskStream(input, 3); if (stream.Read()) { config.ul_SCH_Config = ul_SCH_Config_Type.PerDecoder.Instance.Decode(input); } if (stream.Read()) { config.drx_Config = DRX_Config.PerDecoder.Instance.Decode(input); } int nBits = 3; config.timeAlignmentTimerDedicated = (TimeAlignmentTimer)input.readBits(nBits); if (stream.Read()) { config.phr_Config = phr_Config_Type.PerDecoder.Instance.Decode(input); } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { config.sr_ProhibitTimer_r9 = input.readBits(3); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { config.mac_MainConfig_v1020 = mac_MainConfig_v1020_Type.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 3); if (stream2.Read()) { config.stag_ToReleaseList_r11 = new List<long>(); nBits = 2; int num3 = input.readBits(nBits) + 1; for (int i = 0; i < num3; i++) { long item = input.readBits(2) + 1; config.stag_ToReleaseList_r11.Add(item); } } if (stream2.Read()) { config.stag_ToAddModList_r11 = new List<STAG_ToAddMod_r11>(); nBits = 2; int num6 = input.readBits(nBits) + 1; for (int j = 0; j < num6; j++) { STAG_ToAddMod_r11 _r = STAG_ToAddMod_r11.PerDecoder.Instance.Decode(input); config.stag_ToAddModList_r11.Add(_r); } } if (stream2.Read()) { config.drx_Config_v1130 = DRX_Config_v1130.PerDecoder.Instance.Decode(input); } } return config; }