Exemplo n.º 1
0
            public MeasConfig Decode(BitArrayInputStream input)
            {
                int           num2;
                BitMaskStream stream2;
                MeasConfig    config = new MeasConfig();

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

                if (stream.Read())//measObjectToRemoveListPresent
                {
                    config.measObjectToRemoveList = new List <long>();
                    num2 = 5;
                    int num3 = input.ReadBits(num2) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        long item = input.ReadBits(5) + 1;
                        config.measObjectToRemoveList.Add(item);
                    }
                }
                if (stream.Read())//measObjectToAddModListPresent
                {
                    config.measObjectToAddModList = new List <MeasObjectToAddMod>();
                    num2 = 5;
                    int num6 = input.ReadBits(num2) + 1;
                    for (int j = 0; j < num6; j++)
                    {
                        MeasObjectToAddMod mod = MeasObjectToAddMod.PerDecoder.Instance.Decode(input);
                        config.measObjectToAddModList.Add(mod);
                    }
                }
                if (stream.Read())//reportConfigToRemoveListPresent
                {
                    config.reportConfigToRemoveList = new List <long>();
                    num2 = 5;
                    int num8 = input.ReadBits(num2) + 1;
                    for (int k = 0; k < num8; k++)
                    {
                        long num10 = input.ReadBits(5) + 1;
                        config.reportConfigToRemoveList.Add(num10);
                    }
                }
                if (stream.Read())//reportConfigToAddModListPresent
                {
                    config.reportConfigToAddModList = new List <ReportConfigToAddMod>();
                    num2 = 5;
                    int num11 = input.ReadBits(num2) + 1;
                    for (int m = 0; m < num11; m++)
                    {
                        ReportConfigToAddMod mod2 = ReportConfigToAddMod.PerDecoder.Instance.Decode(input);
                        config.reportConfigToAddModList.Add(mod2);
                    }
                }
                if (stream.Read())//measIdToRemoveListPresent
                {
                    config.measIdToRemoveList = new List <long>();
                    num2 = 5;
                    int num13 = input.ReadBits(num2) + 1;
                    for (int n = 0; n < num13; n++)
                    {
                        long num15 = input.ReadBits(5) + 1;
                        config.measIdToRemoveList.Add(num15);
                    }
                }
                if (stream.Read())//measIdToAddModListPresent
                {
                    config.measIdToAddModList = new List <MeasIdToAddMod>();
                    num2 = 5;
                    int num16 = input.ReadBits(num2) + 1;
                    for (int num17 = 0; num17 < num16; num17++)
                    {
                        MeasIdToAddMod mod3 = MeasIdToAddMod.PerDecoder.Instance.Decode(input);
                        config.measIdToAddModList.Add(mod3);
                    }
                }
                if (stream.Read())//quantityConfigPresent
                {
                    config.quantityConfig = QuantityConfig.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())//measGapConfigPresent
                {
                    config.measGapConfig = MeasGapConfig.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())//s_MeasurePresent
                {
                    config.s_Measure = input.ReadBits(7);
                }
                if (stream.Read())//preRegistrationInfoHRPDPresent
                {
                    config.preRegistrationInfoHRPD = PreRegistrationInfoHRPD.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())//speedStateParsPresent
                {
                    config.speedStatePars = speedStatePars_Type.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        config.measObjectToAddModList_v9e0 = new List <MeasObjectToAddMod_v9e0>();
                        num2 = 5;
                        int num18 = input.ReadBits(num2) + 1;
                        for (int num19 = 0; num19 < num18; num19++)
                        {
                            MeasObjectToAddMod_v9e0 _ve = MeasObjectToAddMod_v9e0.PerDecoder.Instance.Decode(input);
                            config.measObjectToAddModList_v9e0.Add(_ve);
                        }
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (!stream2.Read())
                    {
                        return(config);
                    }
                    config.measIdToAddModList_v12xy = new List <MeasIdToAddMod_v12xy>();
                    num2 = 5;
                    int num20 = input.ReadBits(num2) + 1;
                    for (int num21 = 0; num21 < num20; num21++)
                    {
                        MeasIdToAddMod_v12xy _vxy = MeasIdToAddMod_v12xy.PerDecoder.Instance.Decode(input);
                        config.measIdToAddModList_v12xy.Add(_vxy);
                    }
                }
                return(config);
            }
Exemplo n.º 2
0
 public MeasConfig Decode(BitArrayInputStream input)
 {
     int num2;
     BitMaskStream stream2;
     MeasConfig config = new MeasConfig();
     config.InitDefaults();
     bool flag = input.ReadBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 11);
     if (stream.Read())//measObjectToRemoveListPresent
     {
         config.measObjectToRemoveList = new List<long>();
         num2 = 5;
         int num3 = input.ReadBits(num2) + 1;
         for (int i = 0; i < num3; i++)
         {
             long item = input.ReadBits(5) + 1;
             config.measObjectToRemoveList.Add(item);
         }
     }
     if (stream.Read())//measObjectToAddModListPresent
     {
         config.measObjectToAddModList = new List<MeasObjectToAddMod>();
         num2 = 5;
         int num6 = input.ReadBits(num2) + 1;
         for (int j = 0; j < num6; j++)
         {
             MeasObjectToAddMod mod = MeasObjectToAddMod.PerDecoder.Instance.Decode(input);
             config.measObjectToAddModList.Add(mod);
         }
     }
     if (stream.Read())//reportConfigToRemoveListPresent
     {
         config.reportConfigToRemoveList = new List<long>();
         num2 = 5;
         int num8 = input.ReadBits(num2) + 1;
         for (int k = 0; k < num8; k++)
         {
             long num10 = input.ReadBits(5) + 1;
             config.reportConfigToRemoveList.Add(num10);
         }
     }
     if (stream.Read())//reportConfigToAddModListPresent
     {
         config.reportConfigToAddModList = new List<ReportConfigToAddMod>();
         num2 = 5;
         int num11 = input.ReadBits(num2) + 1;
         for (int m = 0; m < num11; m++)
         {
             ReportConfigToAddMod mod2 = ReportConfigToAddMod.PerDecoder.Instance.Decode(input);
             config.reportConfigToAddModList.Add(mod2);
         }
     }
     if (stream.Read())//measIdToRemoveListPresent
     {
         config.measIdToRemoveList = new List<long>();
         num2 = 5;
         int num13 = input.ReadBits(num2) + 1;
         for (int n = 0; n < num13; n++)
         {
             long num15 = input.ReadBits(5) + 1;
             config.measIdToRemoveList.Add(num15);
         }
     }
     if (stream.Read())//measIdToAddModListPresent
     {
         config.measIdToAddModList = new List<MeasIdToAddMod>();
         num2 = 5;
         int num16 = input.ReadBits(num2) + 1;
         for (int num17 = 0; num17 < num16; num17++)
         {
             MeasIdToAddMod mod3 = MeasIdToAddMod.PerDecoder.Instance.Decode(input);
             config.measIdToAddModList.Add(mod3);
         }
     }
     if (stream.Read())//quantityConfigPresent
     {
         config.quantityConfig = QuantityConfig.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())//measGapConfigPresent
     {
         config.measGapConfig = MeasGapConfig.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())//s_MeasurePresent
     {
         config.s_Measure = input.ReadBits(7);
     }
     if (stream.Read())//preRegistrationInfoHRPDPresent
     {
         config.preRegistrationInfoHRPD = PreRegistrationInfoHRPD.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())//speedStateParsPresent
     {
         config.speedStatePars = speedStatePars_Type.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             config.measObjectToAddModList_v9e0 = new List<MeasObjectToAddMod_v9e0>();
             num2 = 5;
             int num18 = input.ReadBits(num2) + 1;
             for (int num19 = 0; num19 < num18; num19++)
             {
                 MeasObjectToAddMod_v9e0 _ve = MeasObjectToAddMod_v9e0.PerDecoder.Instance.Decode(input);
                 config.measObjectToAddModList_v9e0.Add(_ve);
             }
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (!stream2.Read())
         {
             return config;
         }
         config.measIdToAddModList_v12xy = new List<MeasIdToAddMod_v12xy>();
         num2 = 5;
         int num20 = input.ReadBits(num2) + 1;
         for (int num21 = 0; num21 < num20; num21++)
         {
             MeasIdToAddMod_v12xy _vxy = MeasIdToAddMod_v12xy.PerDecoder.Instance.Decode(input);
             config.measIdToAddModList_v12xy.Add(_vxy);
         }
     }
     return config;
 }