Пример #1
0
            public RadioResourceConfigDedicated Decode(BitArrayInputStream input)
            {
                int           num2;
                BitMaskStream stream2;
                RadioResourceConfigDedicated dedicated = new RadioResourceConfigDedicated();

                dedicated.InitDefaults();
                bool          flag   = input.readBit() != 0;
                BitMaskStream stream = new BitMaskStream(input, 6);

                if (stream.Read())
                {
                    dedicated.srb_ToAddModList = new List <SRB_ToAddMod>();
                    num2 = 1;
                    int num3 = input.readBits(num2) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        SRB_ToAddMod item = SRB_ToAddMod.PerDecoder.Instance.Decode(input);
                        dedicated.srb_ToAddModList.Add(item);
                    }
                }
                if (stream.Read())
                {
                    dedicated.drb_ToAddModList = new List <DRB_ToAddMod>();
                    num2 = 4;
                    int num5 = input.readBits(num2) + 1;
                    for (int j = 0; j < num5; j++)
                    {
                        DRB_ToAddMod mod2 = DRB_ToAddMod.PerDecoder.Instance.Decode(input);
                        dedicated.drb_ToAddModList.Add(mod2);
                    }
                }
                if (stream.Read())
                {
                    dedicated.drb_ToReleaseList = new List <long>();
                    num2 = 4;
                    int num7 = input.readBits(num2) + 1;
                    for (int k = 0; k < num7; k++)
                    {
                        long num9 = input.readBits(5) + 1;
                        dedicated.drb_ToReleaseList.Add(num9);
                    }
                }
                if (stream.Read())
                {
                    dedicated.mac_MainConfig = mac_MainConfig_Type.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.sps_Config = SPS_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.physicalConfigDedicated = PhysicalConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.rlf_TimersAndConstants_r9 = RLF_TimersAndConstants_r9.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.measSubframePatternPCell_r10 = MeasSubframePatternPCell_r10.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.neighCellsCRS_Info_r11 = NeighCellsCRS_Info_r11.PerDecoder.Instance.Decode(input);
                    }
                }
                return(dedicated);
            }
Пример #2
0
 public RadioResourceConfigDedicated Decode(BitArrayInputStream input)
 {
     int num2;
     BitMaskStream stream2;
     RadioResourceConfigDedicated dedicated = new RadioResourceConfigDedicated();
     dedicated.InitDefaults();
     bool flag = input.ReadBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 6);
     if (stream.Read())
     {
         dedicated.srb_ToAddModList = new List<SRB_ToAddMod>();
         num2 = 1;
         int num3 = input.ReadBits(num2) + 1;
         for (int i = 0; i < num3; i++)
         {
             SRB_ToAddMod item = SRB_ToAddMod.PerDecoder.Instance.Decode(input);
             dedicated.srb_ToAddModList.Add(item);
         }
     }
     if (stream.Read())
     {
         dedicated.drb_ToAddModList = new List<DRB_ToAddMod>();
         num2 = 4;
         int num5 = input.ReadBits(num2) + 1;
         for (int j = 0; j < num5; j++)
         {
             DRB_ToAddMod mod2 = DRB_ToAddMod.PerDecoder.Instance.Decode(input);
             dedicated.drb_ToAddModList.Add(mod2);
         }
     }
     if (stream.Read())
     {
         dedicated.drb_ToReleaseList = new List<long>();
         num2 = 4;
         int num7 = input.ReadBits(num2) + 1;
         for (int k = 0; k < num7; k++)
         {
             long num9 = input.ReadBits(5) + 1;
             dedicated.drb_ToReleaseList.Add(num9);
         }
     }
     if (stream.Read())
     {
         dedicated.mac_MainConfig = mac_MainConfig_Type.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.sps_Config = SPS_Config.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.physicalConfigDedicated = PhysicalConfigDedicated.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             dedicated.rlf_TimersAndConstants_r9 = RLF_TimersAndConstants_r9.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             dedicated.measSubframePatternPCell_r10 = MeasSubframePatternPCell_r10.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             dedicated.neighCellsCRS_Info_r11 = NeighCellsCRS_Info_r11.PerDecoder.Instance.Decode(input);
         }
     }
     return dedicated;
 }