Пример #1
0
                public measResultNeighCells_Type Decode(BitArrayInputStream input)
                {
                    int num2;
                    measResultNeighCells_Type type = new measResultNeighCells_Type();

                    type.InitDefaults();
                    input.readBit();
                    switch (input.readBits(2))
                    {
                    case 0:
                    {
                        type.measResultListEUTRA = new List <MeasResultEUTRA>();
                        num2 = 3;
                        int num4 = input.readBits(num2) + 1;
                        for (int i = 0; i < num4; i++)
                        {
                            MeasResultEUTRA item = MeasResultEUTRA.PerDecoder.Instance.Decode(input);
                            type.measResultListEUTRA.Add(item);
                        }
                        return(type);
                    }

                    case 1:
                    {
                        type.measResultListUTRA = new List <MeasResultUTRA>();
                        num2 = 3;
                        int num6 = input.readBits(num2) + 1;
                        for (int j = 0; j < num6; j++)
                        {
                            MeasResultUTRA tutra = MeasResultUTRA.PerDecoder.Instance.Decode(input);
                            type.measResultListUTRA.Add(tutra);
                        }
                        return(type);
                    }

                    case 2:
                    {
                        type.measResultListGERAN = new List <MeasResultGERAN>();
                        num2 = 3;
                        int num8 = input.readBits(num2) + 1;
                        for (int k = 0; k < num8; k++)
                        {
                            MeasResultGERAN tgeran = MeasResultGERAN.PerDecoder.Instance.Decode(input);
                            type.measResultListGERAN.Add(tgeran);
                        }
                        return(type);
                    }

                    case 3:
                        type.measResultsCDMA2000 = MeasResultsCDMA2000.PerDecoder.Instance.Decode(input);
                        return(type);
                    }
                    throw new Exception(GetType().Name + ":NoChoice had been choose");
                }
Пример #2
0
            public MeasResultGERAN Decode(BitArrayInputStream input)
            {
                MeasResultGERAN tgeran = new MeasResultGERAN();

                tgeran.InitDefaults();
                BitMaskStream stream = new BitMaskStream(input, 1);

                tgeran.carrierFreq = CarrierFreqGERAN.PerDecoder.Instance.Decode(input);
                tgeran.physCellId  = PhysCellIdGERAN.PerDecoder.Instance.Decode(input);
                if (stream.Read())
                {
                    tgeran.cgi_Info = cgi_Info_Type.PerDecoder.Instance.Decode(input);
                }
                tgeran.measResult = measResult_Type.PerDecoder.Instance.Decode(input);
                return(tgeran);
            }
Пример #3
0
                protected override void ProcessConfig(measResultNeighCells_r11_Type config, BitArrayInputStream input)
                {
                    BitMaskStream stream = new BitMaskStream(input, 4);

                    if (stream.Read())
                    {
                        config.measResultListEUTRA_r11 = new List <MeasResult2EUTRA_r9>();
                        int num3 = input.ReadBits(3) + 1;
                        for (int i = 0; i < num3; i++)
                        {
                            MeasResult2EUTRA_r9 item = MeasResult2EUTRA_r9.PerDecoder.Instance.Decode(input);
                            config.measResultListEUTRA_r11.Add(item);
                        }
                    }
                    if (stream.Read())
                    {
                        config.measResultListUTRA_r11 = new List <MeasResult2UTRA_r9>();
                        int num5 = input.ReadBits(3) + 1;
                        for (int j = 0; j < num5; j++)
                        {
                            MeasResult2UTRA_r9 _r2 = MeasResult2UTRA_r9.PerDecoder.Instance.Decode(input);
                            config.measResultListUTRA_r11.Add(_r2);
                        }
                    }
                    if (stream.Read())
                    {
                        config.measResultListGERAN_r11 = new List <MeasResultGERAN>();
                        int num7 = input.ReadBits(3) + 1;
                        for (int k = 0; k < num7; k++)
                        {
                            MeasResultGERAN tgeran = MeasResultGERAN.PerDecoder.Instance.Decode(input);
                            config.measResultListGERAN_r11.Add(tgeran);
                        }
                    }
                    if (stream.Read())
                    {
                        config.measResultsCDMA2000_r11 = new List <MeasResult2CDMA2000_r9>();
                        int num9 = input.ReadBits(3) + 1;
                        for (int m = 0; m < num9; m++)
                        {
                            MeasResult2CDMA2000_r9 _r3 = MeasResult2CDMA2000_r9.PerDecoder.Instance.Decode(input);
                            config.measResultsCDMA2000_r11.Add(_r3);
                        }
                    }
                }
Пример #4
0
                public measResultNeighCells_r10_Type Decode(BitArrayInputStream input)
                {
                    int num2;
                    measResultNeighCells_r10_Type type = new measResultNeighCells_r10_Type();

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

                    if (stream.Read())
                    {
                        type.measResultListEUTRA_r10 = new List <MeasResult2EUTRA_r9>();
                        num2 = 3;
                        int num3 = input.ReadBits(num2) + 1;
                        for (int i = 0; i < num3; i++)
                        {
                            MeasResult2EUTRA_r9 item = MeasResult2EUTRA_r9.PerDecoder.Instance.Decode(input);
                            type.measResultListEUTRA_r10.Add(item);
                        }
                    }
                    if (stream.Read())
                    {
                        type.measResultListUTRA_r10 = new List <MeasResult2UTRA_r9>();
                        num2 = 3;
                        int num5 = input.ReadBits(num2) + 1;
                        for (int j = 0; j < num5; j++)
                        {
                            MeasResult2UTRA_r9 _r2 = MeasResult2UTRA_r9.PerDecoder.Instance.Decode(input);
                            type.measResultListUTRA_r10.Add(_r2);
                        }
                    }
                    if (stream.Read())
                    {
                        type.measResultListGERAN_r10 = new List <List <MeasResultGERAN> >();
                        num2 = 2;
                        int num7 = input.ReadBits(num2) + 1;
                        for (int k = 0; k < num7; k++)
                        {
                            List <MeasResultGERAN> list = new List <MeasResultGERAN>();
                            num2 = 3;
                            int num9 = input.ReadBits(num2) + 1;
                            for (int m = 0; m < num9; m++)
                            {
                                MeasResultGERAN tgeran = MeasResultGERAN.PerDecoder.Instance.Decode(input);
                                list.Add(tgeran);
                            }
                            type.measResultListGERAN_r10.Add(list);
                        }
                    }
                    if (stream.Read())
                    {
                        type.measResultListCDMA2000_r10 = new List <MeasResult2CDMA2000_r9>();
                        num2 = 3;
                        int num11 = input.ReadBits(num2) + 1;
                        for (int n = 0; n < num11; n++)
                        {
                            MeasResult2CDMA2000_r9 _r3 = MeasResult2CDMA2000_r9.PerDecoder.Instance.Decode(input);
                            type.measResultListCDMA2000_r10.Add(_r3);
                        }
                    }
                    return(type);
                }
Пример #5
0
 public MeasResultGERAN Decode(BitArrayInputStream input)
 {
     MeasResultGERAN tgeran = new MeasResultGERAN();
     tgeran.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 1);
     tgeran.carrierFreq = CarrierFreqGERAN.PerDecoder.Instance.Decode(input);
     tgeran.physCellId = PhysCellIdGERAN.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         tgeran.cgi_Info = cgi_Info_Type.PerDecoder.Instance.Decode(input);
     }
     tgeran.measResult = measResult_Type.PerDecoder.Instance.Decode(input);
     return tgeran;
 }