Example #1
0
            public MeasObjectCDMA2000 Decode(BitArrayInputStream input)
            {
                MeasObjectCDMA2000 tcdma = new MeasObjectCDMA2000();

                tcdma.InitDefaults();
                input.ReadBit();
                BitMaskStream stream  = new BitMaskStream(input, 1);
                BitMaskStream stream2 = new BitMaskStream(input, 4);
                int           nBits   = 1;

                tcdma.cdma2000_Type = (CDMA2000_Type)input.ReadBits(nBits);
                tcdma.carrierFreq   = CarrierFreqCDMA2000.PerDecoder.Instance.Decode(input);
                if (stream2.Read())
                {
                    tcdma.searchWindowSize = input.ReadBits(4);
                }
                if (stream.Read())
                {
                    tcdma.offsetFreq = input.ReadBits(5) + -15;
                }
                if (stream2.Read())
                {
                    tcdma.cellsToRemoveList = new List <long>();
                    nBits = 5;
                    int num3 = input.ReadBits(nBits) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        long item = input.ReadBits(5) + 1;
                        tcdma.cellsToRemoveList.Add(item);
                    }
                }
                if (stream2.Read())
                {
                    tcdma.cellsToAddModList = new List <CellsToAddModCDMA2000>();
                    nBits = 5;
                    int num6 = input.ReadBits(nBits) + 1;
                    for (int j = 0; j < num6; j++)
                    {
                        CellsToAddModCDMA2000 dcdma = CellsToAddModCDMA2000.PerDecoder.Instance.Decode(input);
                        tcdma.cellsToAddModList.Add(dcdma);
                    }
                }
                if (stream2.Read())
                {
                    tcdma.cellForWhichToReportCGI = input.ReadBits(9);
                }
                return(tcdma);
            }
Example #2
0
 public MeasObjectCDMA2000 Decode(BitArrayInputStream input)
 {
     MeasObjectCDMA2000 tcdma = new MeasObjectCDMA2000();
     tcdma.InitDefaults();
     input.ReadBit();
     BitMaskStream stream = new BitMaskStream(input, 1);
     BitMaskStream stream2 = new BitMaskStream(input, 4);
     int nBits = 1;
     tcdma.cdma2000_Type = (CDMA2000_Type)input.ReadBits(nBits);
     tcdma.carrierFreq = CarrierFreqCDMA2000.PerDecoder.Instance.Decode(input);
     if (stream2.Read())
     {
         tcdma.searchWindowSize = input.ReadBits(4);
     }
     if (stream.Read())
     {
         tcdma.offsetFreq = input.ReadBits(5) + -15;
     }
     if (stream2.Read())
     {
         tcdma.cellsToRemoveList = new List<long>();
         nBits = 5;
         int num3 = input.ReadBits(nBits) + 1;
         for (int i = 0; i < num3; i++)
         {
             long item = input.ReadBits(5) + 1;
             tcdma.cellsToRemoveList.Add(item);
         }
     }
     if (stream2.Read())
     {
         tcdma.cellsToAddModList = new List<CellsToAddModCDMA2000>();
         nBits = 5;
         int num6 = input.ReadBits(nBits) + 1;
         for (int j = 0; j < num6; j++)
         {
             CellsToAddModCDMA2000 dcdma = CellsToAddModCDMA2000.PerDecoder.Instance.Decode(input);
             tcdma.cellsToAddModList.Add(dcdma);
         }
     }
     if (stream2.Read())
     {
         tcdma.cellForWhichToReportCGI = input.ReadBits(9);
     }
     return tcdma;
 }