Пример #1
0
            public MeasObjectUTRA Decode(BitArrayInputStream input)
            {
                MeasObjectUTRA tutra = new MeasObjectUTRA();

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

                tutra.carrierFreq = input.ReadBits(14);
                if (stream.Read())
                {
                    tutra.offsetFreq = input.ReadBits(5) + -15;
                }
                if (stream2.Read())
                {
                    tutra.cellsToRemoveList = new List <long>();
                    int nBits = 5;
                    int num3  = input.ReadBits(nBits) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        long item = input.ReadBits(5) + 1;
                        tutra.cellsToRemoveList.Add(item);
                    }
                }
                if (stream2.Read())
                {
                    tutra.cellsToAddModList = cellsToAddModList_Type.PerDecoder.Instance.Decode(input);
                }
                if (stream2.Read())
                {
                    tutra.cellForWhichToReportCGI = cellForWhichToReportCGI_Type.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    BitMaskStream stream3 = new BitMaskStream(input, 1);
                    if (stream3.Read())
                    {
                        tutra.csg_allowedReportingCells_v930
                            = CSG_AllowedReportingCells_r9.PerDecoder.Instance.Decode(input);
                    }
                }
                return(tutra);
            }
Пример #2
0
 public MeasObjectUTRA Decode(BitArrayInputStream input)
 {
     MeasObjectUTRA tutra = new MeasObjectUTRA();
     tutra.InitDefaults();
     bool flag = input.ReadBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 1);
     BitMaskStream stream2 = new BitMaskStream(input, 3);
     tutra.carrierFreq = input.ReadBits(14);
     if (stream.Read())
     {
         tutra.offsetFreq = input.ReadBits(5) + -15;
     }
     if (stream2.Read())
     {
         tutra.cellsToRemoveList = new List<long>();
         int nBits = 5;
         int num3 = input.ReadBits(nBits) + 1;
         for (int i = 0; i < num3; i++)
         {
             long item = input.ReadBits(5) + 1;
             tutra.cellsToRemoveList.Add(item);
         }
     }
     if (stream2.Read())
     {
         tutra.cellsToAddModList = cellsToAddModList_Type.PerDecoder.Instance.Decode(input);
     }
     if (stream2.Read())
     {
         tutra.cellForWhichToReportCGI = cellForWhichToReportCGI_Type.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         BitMaskStream stream3 = new BitMaskStream(input, 1);
         if (stream3.Read())
         {
             tutra.csg_allowedReportingCells_v930 
                 = CSG_AllowedReportingCells_r9.PerDecoder.Instance.Decode(input);
         }
     }
     return tutra;
 }