Ejemplo n.º 1
0
            public MeasResults Decode(BitArrayInputStream input)
            {
                BitMaskStream stream2;
                MeasResults   results = new MeasResults();

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

                results.measId          = input.ReadBits(5) + 1;
                results.measResultPCell = measResultPCell_Type.PerDecoder.Instance.Decode(input);
                if (stream.Read())
                {
                    results.measResultNeighCells = measResultNeighCells_Type.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        results.measResultForECID_r9 = MeasResultForECID_r9.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 2);
                    if (stream2.Read())
                    {
                        results.locationInfo_r10 = LocationInfo_r10.PerDecoder.Instance.Decode(input);
                    }
                    if (!stream2.Read())
                    {
                        return(results);
                    }
                    results.measResultServFreqList_r10 = new List <MeasResultServFreq_r10>();
                    int nBits = 3;
                    int num3  = input.ReadBits(nBits) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        MeasResultServFreq_r10 item = MeasResultServFreq_r10.PerDecoder.Instance.Decode(input);
                        results.measResultServFreqList_r10.Add(item);
                    }
                }
                return(results);
            }
Ejemplo n.º 2
0
 public MeasResults Decode(BitArrayInputStream input)
 {
     BitMaskStream stream2;
     MeasResults results = new MeasResults();
     results.InitDefaults();
     bool flag = input.readBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 1);
     results.measId = input.readBits(5) + 1;
     results.measResultPCell = measResultPCell_Type.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         results.measResultNeighCells = measResultNeighCells_Type.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             results.measResultForECID_r9 = MeasResultForECID_r9.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 2);
         if (stream2.Read())
         {
             results.locationInfo_r10 = LocationInfo_r10.PerDecoder.Instance.Decode(input);
         }
         if (!stream2.Read())
         {
             return results;
         }
         results.measResultServFreqList_r10 = new List<MeasResultServFreq_r10>();
         int nBits = 3;
         int num3 = input.readBits(nBits) + 1;
         for (int i = 0; i < num3; i++)
         {
             MeasResultServFreq_r10 item = MeasResultServFreq_r10.PerDecoder.Instance.Decode(input);
             results.measResultServFreqList_r10.Add(item);
         }
     }
     return results;
 }