コード例 #1
0
            public ReportConfigInterRAT Decode(BitArrayInputStream input)
            {
                BitMaskStream        stream;
                ReportConfigInterRAT rrat = new ReportConfigInterRAT();

                rrat.InitDefaults();
                bool flag = input.readBit() != 0;

                rrat.triggerType    = triggerType_Type.PerDecoder.Instance.Decode(input);
                rrat.maxReportCells = input.readBits(3) + 1;
                int nBits = 4;

                rrat.reportInterval = (ReportInterval)input.readBits(nBits);
                nBits             = 3;
                rrat.reportAmount = (reportAmount_Enum)input.readBits(nBits);
                if (flag)
                {
                    stream = new BitMaskStream(input, 1);
                    if (stream.Read())
                    {
                        nBits = 1;
                        rrat.si_RequestForHO_r9 = (si_RequestForHO_r9_Enum)input.readBits(nBits);
                    }
                }
                if (flag)
                {
                    stream = new BitMaskStream(input, 1);
                    if (stream.Read())
                    {
                        nBits = 1;
                        rrat.reportQuantityUTRA_FDD_r10 = (reportQuantityUTRA_FDD_r10_Enum)input.readBits(nBits);
                    }
                }
                if (flag)
                {
                    stream = new BitMaskStream(input, 1);
                    if (stream.Read())
                    {
                        rrat.includeLocationInfo_r11 = input.readBit() == 1;
                    }
                }
                return(rrat);
            }
コード例 #2
0
ファイル: ReportConfig.cs プロジェクト: ouyh18/LtePlatform
 public ReportConfigInterRAT Decode(BitArrayInputStream input)
 {
     BitMaskStream stream;
     ReportConfigInterRAT rrat = new ReportConfigInterRAT();
     rrat.InitDefaults();
     bool flag = input.ReadBit() != 0;
     rrat.triggerType = triggerType_Type.PerDecoder.Instance.Decode(input);
     rrat.maxReportCells = input.ReadBits(3) + 1;
     int nBits = 4;
     rrat.reportInterval = (ReportInterval)input.ReadBits(nBits);
     nBits = 3;
     rrat.reportAmount = (reportAmount_Enum)input.ReadBits(nBits);
     if (flag)
     {
         stream = new BitMaskStream(input, 1);
         if (stream.Read())
         {
             nBits = 1;
             rrat.si_RequestForHO_r9 = (si_RequestForHO_r9_Enum)input.ReadBits(nBits);
         }
     }
     if (flag)
     {
         stream = new BitMaskStream(input, 1);
         if (stream.Read())
         {
             nBits = 1;
             rrat.reportQuantityUTRA_FDD_r10 = (reportQuantityUTRA_FDD_r10_Enum)input.ReadBits(nBits);
         }
     }
     if (flag)
     {
         stream = new BitMaskStream(input, 1);
         if (stream.Read())
         {
             rrat.includeLocationInfo_r11 = input.ReadBit() == 1;
         }
     }
     return rrat;
 }