Example #1
0
            public IdleModeMobilityControlInfo Decode(BitArrayInputStream input)
            {
                int num2;
                IdleModeMobilityControlInfo info = new IdleModeMobilityControlInfo();

                info.InitDefaults();
                BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 7) : new BitMaskStream(input, 7);

                if (stream.Read())
                {
                    info.freqPriorityListEUTRA = new List <FreqPriorityEUTRA>();
                    num2 = 3;
                    int num3 = input.ReadBits(num2) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        FreqPriorityEUTRA item = FreqPriorityEUTRA.PerDecoder.Instance.Decode(input);
                        info.freqPriorityListEUTRA.Add(item);
                    }
                }
                if (stream.Read())
                {
                    info.freqPriorityListGERAN = new List <FreqsPriorityGERAN>();
                    num2 = 4;
                    int num5 = input.ReadBits(num2) + 1;
                    for (int j = 0; j < num5; j++)
                    {
                        FreqsPriorityGERAN ygeran = FreqsPriorityGERAN.PerDecoder.Instance.Decode(input);
                        info.freqPriorityListGERAN.Add(ygeran);
                    }
                }
                if (stream.Read())
                {
                    info.freqPriorityListUTRA_FDD = new List <FreqPriorityUTRA_FDD>();
                    num2 = 4;
                    int num7 = input.ReadBits(num2) + 1;
                    for (int k = 0; k < num7; k++)
                    {
                        FreqPriorityUTRA_FDD yutra_fdd = FreqPriorityUTRA_FDD.PerDecoder.Instance.Decode(input);
                        info.freqPriorityListUTRA_FDD.Add(yutra_fdd);
                    }
                }
                if (stream.Read())
                {
                    info.freqPriorityListUTRA_TDD = new List <FreqPriorityUTRA_TDD>();
                    num2 = 4;
                    int num9 = input.ReadBits(num2) + 1;
                    for (int m = 0; m < num9; m++)
                    {
                        FreqPriorityUTRA_TDD yutra_tdd = FreqPriorityUTRA_TDD.PerDecoder.Instance.Decode(input);
                        info.freqPriorityListUTRA_TDD.Add(yutra_tdd);
                    }
                }
                if (stream.Read())
                {
                    info.bandClassPriorityListHRPD = new List <BandClassPriorityHRPD>();
                    num2 = 5;
                    int num11 = input.ReadBits(num2) + 1;
                    for (int n = 0; n < num11; n++)
                    {
                        BandClassPriorityHRPD yhrpd = BandClassPriorityHRPD.PerDecoder.Instance.Decode(input);
                        info.bandClassPriorityListHRPD.Add(yhrpd);
                    }
                }
                if (stream.Read())
                {
                    info.bandClassPriorityList1XRTT = new List <BandClassPriority1XRTT>();
                    num2 = 5;
                    int num13 = input.ReadBits(num2) + 1;
                    for (int num14 = 0; num14 < num13; num14++)
                    {
                        BandClassPriority1XRTT priorityxrtt = BandClassPriority1XRTT.PerDecoder.Instance.Decode(input);
                        info.bandClassPriorityList1XRTT.Add(priorityxrtt);
                    }
                }
                if (stream.Read())
                {
                    num2      = 3;
                    info.t320 = (t320_Enum)input.ReadBits(num2);
                }
                return(info);
            }
Example #2
0
 public IdleModeMobilityControlInfo Decode(BitArrayInputStream input)
 {
     int num2;
     IdleModeMobilityControlInfo info = new IdleModeMobilityControlInfo();
     info.InitDefaults();
     BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 7) : new BitMaskStream(input, 7);
     if (stream.Read())
     {
         info.freqPriorityListEUTRA = new List<FreqPriorityEUTRA>();
         num2 = 3;
         int num3 = input.ReadBits(num2) + 1;
         for (int i = 0; i < num3; i++)
         {
             FreqPriorityEUTRA item = FreqPriorityEUTRA.PerDecoder.Instance.Decode(input);
             info.freqPriorityListEUTRA.Add(item);
         }
     }
     if (stream.Read())
     {
         info.freqPriorityListGERAN = new List<FreqsPriorityGERAN>();
         num2 = 4;
         int num5 = input.ReadBits(num2) + 1;
         for (int j = 0; j < num5; j++)
         {
             FreqsPriorityGERAN ygeran = FreqsPriorityGERAN.PerDecoder.Instance.Decode(input);
             info.freqPriorityListGERAN.Add(ygeran);
         }
     }
     if (stream.Read())
     {
         info.freqPriorityListUTRA_FDD = new List<FreqPriorityUTRA_FDD>();
         num2 = 4;
         int num7 = input.ReadBits(num2) + 1;
         for (int k = 0; k < num7; k++)
         {
             FreqPriorityUTRA_FDD yutra_fdd = FreqPriorityUTRA_FDD.PerDecoder.Instance.Decode(input);
             info.freqPriorityListUTRA_FDD.Add(yutra_fdd);
         }
     }
     if (stream.Read())
     {
         info.freqPriorityListUTRA_TDD = new List<FreqPriorityUTRA_TDD>();
         num2 = 4;
         int num9 = input.ReadBits(num2) + 1;
         for (int m = 0; m < num9; m++)
         {
             FreqPriorityUTRA_TDD yutra_tdd = FreqPriorityUTRA_TDD.PerDecoder.Instance.Decode(input);
             info.freqPriorityListUTRA_TDD.Add(yutra_tdd);
         }
     }
     if (stream.Read())
     {
         info.bandClassPriorityListHRPD = new List<BandClassPriorityHRPD>();
         num2 = 5;
         int num11 = input.ReadBits(num2) + 1;
         for (int n = 0; n < num11; n++)
         {
             BandClassPriorityHRPD yhrpd = BandClassPriorityHRPD.PerDecoder.Instance.Decode(input);
             info.bandClassPriorityListHRPD.Add(yhrpd);
         }
     }
     if (stream.Read())
     {
         info.bandClassPriorityList1XRTT = new List<BandClassPriority1XRTT>();
         num2 = 5;
         int num13 = input.ReadBits(num2) + 1;
         for (int num14 = 0; num14 < num13; num14++)
         {
             BandClassPriority1XRTT priorityxrtt = BandClassPriority1XRTT.PerDecoder.Instance.Decode(input);
             info.bandClassPriorityList1XRTT.Add(priorityxrtt);
         }
     }
     if (stream.Read())
     {
         num2 = 3;
         info.t320 = (t320_Enum)input.ReadBits(num2);
     }
     return info;
 }