예제 #1
0
            public CQI_ReportBoth_r11 Decode(BitArrayInputStream input)
            {
                int num2;
                CQI_ReportBoth_r11 _r = new CQI_ReportBoth_r11();

                _r.InitDefaults();
                BitMaskStream stream = new BitMaskStream(input, 4);

                if (stream.Read())
                {
                    _r.csi_IM_ConfigToReleaseList_r11 = new List <long>();
                    num2 = 2;
                    int num3 = input.readBits(num2) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        long item = input.readBits(2) + 1;
                        _r.csi_IM_ConfigToReleaseList_r11.Add(item);
                    }
                }
                if (stream.Read())
                {
                    _r.csi_IM_ConfigToAddModList_r11 = new List <CSI_IM_Config_r11>();
                    num2 = 2;
                    int num6 = input.readBits(num2) + 1;
                    for (int j = 0; j < num6; j++)
                    {
                        CSI_IM_Config_r11 _r2 = CSI_IM_Config_r11.PerDecoder.Instance.Decode(input);
                        _r.csi_IM_ConfigToAddModList_r11.Add(_r2);
                    }
                }
                if (stream.Read())
                {
                    _r.csi_ProcessToReleaseList_r11 = new List <long>();
                    num2 = 2;
                    int num8 = input.readBits(num2) + 1;
                    for (int k = 0; k < num8; k++)
                    {
                        long num10 = input.readBits(2) + 1;
                        _r.csi_ProcessToReleaseList_r11.Add(num10);
                    }
                }
                if (stream.Read())
                {
                    _r.csi_ProcessToAddModList_r11 = new List <CSI_Process_r11>();
                    num2 = 2;
                    int num11 = input.readBits(num2) + 1;
                    for (int m = 0; m < num11; m++)
                    {
                        CSI_Process_r11 _r3 = CSI_Process_r11.PerDecoder.Instance.Decode(input);
                        _r.csi_ProcessToAddModList_r11.Add(_r3);
                    }
                }
                return(_r);
            }
예제 #2
0
파일: CSI.cs 프로젝트: xuhaoa/LtePlatform
            public CSI_Process_r11 Decode(BitArrayInputStream input)
            {
                CSI_Process_r11 _r = new CSI_Process_r11();

                _r.InitDefaults();
                bool          flag   = input.ReadBit() != 0;
                BitMaskStream stream = new BitMaskStream(input, 3);

                _r.csi_ProcessId_r11      = input.ReadBits(2) + 1;
                _r.csi_RS_ConfigNZPId_r11 = input.ReadBits(2) + 1;
                _r.csi_IM_ConfigId_r11    = input.ReadBits(2) + 1;
                _r.p_C_AndCBSRList_r11    = new List <P_C_AndCBSR_r11>();
                int nBits = 1;
                int num3  = input.ReadBits(nBits) + 1;

                for (int i = 0; i < num3; i++)
                {
                    P_C_AndCBSR_r11 item = P_C_AndCBSR_r11.PerDecoder.Instance.Decode(input);
                    _r.p_C_AndCBSRList_r11.Add(item);
                }
                if (stream.Read())
                {
                    _r.cqi_ReportBothProc_r11 = CQI_ReportBothProc_r11.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    _r.cqi_ReportPeriodicProcId_r11 = input.ReadBits(2);
                }
                if (stream.Read())
                {
                    _r.cqi_ReportAperiodicProc_r11 = CQI_ReportAperiodicProc_r11.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    BitMaskStream stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        nBits = 1;
                        _r.alternativeCodebookEnabledFor4TXProc_r12 = (alternativeCodebookEnabledFor4TXProc_r12_Enum)input.ReadBits(nBits);
                    }
                }
                return(_r);
            }
예제 #3
0
파일: CSI.cs 프로젝트: ouyh18/LtePlatform
 public CSI_Process_r11 Decode(BitArrayInputStream input)
 {
     CSI_Process_r11 _r = new CSI_Process_r11();
     _r.InitDefaults();
     bool flag = input.ReadBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 3);
     _r.csi_ProcessId_r11 = input.ReadBits(2) + 1;
     _r.csi_RS_ConfigNZPId_r11 = input.ReadBits(2) + 1;
     _r.csi_IM_ConfigId_r11 = input.ReadBits(2) + 1;
     _r.p_C_AndCBSRList_r11 = new List<P_C_AndCBSR_r11>();
     int nBits = 1;
     int num3 = input.ReadBits(nBits) + 1;
     for (int i = 0; i < num3; i++)
     {
         P_C_AndCBSR_r11 item = P_C_AndCBSR_r11.PerDecoder.Instance.Decode(input);
         _r.p_C_AndCBSRList_r11.Add(item);
     }
     if (stream.Read())
     {
         _r.cqi_ReportBothProc_r11 = CQI_ReportBothProc_r11.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _r.cqi_ReportPeriodicProcId_r11 = input.ReadBits(2);
     }
     if (stream.Read())
     {
         _r.cqi_ReportAperiodicProc_r11 = CQI_ReportAperiodicProc_r11.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         BitMaskStream stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             nBits = 1;
             _r.alternativeCodebookEnabledFor4TXProc_r12 = (alternativeCodebookEnabledFor4TXProc_r12_Enum)input.ReadBits(nBits);
         }
     }
     return _r;
 }