コード例 #1
0
            public HandoverPreparationInformation_r8_IEs Decode(BitArrayInputStream input)
            {
                HandoverPreparationInformation_r8_IEs es = new HandoverPreparationInformation_r8_IEs();

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

                es.ue_RadioAccessCapabilityInfo = new List <UE_CapabilityRAT_Container>();
                const int nBits = 4;
                int       num3  = input.ReadBits(nBits);

                for (int i = 0; i < num3; i++)
                {
                    UE_CapabilityRAT_Container item = UE_CapabilityRAT_Container.PerDecoder.Instance.Decode(input);
                    es.ue_RadioAccessCapabilityInfo.Add(item);
                }
                if (stream.Read())
                {
                    es.as_Config = AS_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    es.rrm_Config = RRM_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    es.as_Context = AS_Context.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    es.nonCriticalExtension = HandoverPreparationInformation_v920_IEs.PerDecoder.Instance.Decode(input);
                }
                return(es);
            }
コード例 #2
0
 public UE_CapabilityRAT_Container Decode(BitArrayInputStream input)
 {
     string str;
     int nBits = 0;
     UE_CapabilityRAT_Container container = new UE_CapabilityRAT_Container();
     container.InitDefaults();
     int num2 = (input.readBit() == 0) ? 3 : 3;
     container.rat_Type = (RAT_Type) input.readBits(num2);
     nBits = input.readBits(8);
     if ((container.rat_Type == RAT_Type.eutra) && (nBits > 0))
     {
         str = input.readOctetString(nBits);
         BitArrayInputStream inputStream = GetInputStream(str.Remove(str.Length - 2) + "00000000");
         container.ueCapabilityRAT_Container = UE_EUTRA_Capability.PerDecoder.Instance.Decode(inputStream);
         return container;
     }
     if (container.rat_Type == RAT_Type.cdma2000_1XRTT)
     {
         container.ueCapabilityRAT_Container = A21MobileSubscriptionInformation.PerDecoder.Instance.Decode(input);
         return container;
     }
     str = input.readOctetString(nBits);
     container.ueCapabilityRAT_Container = str;
     return container;
 }
コード例 #3
0
            public UE_CapabilityRAT_Container Decode(BitArrayInputStream input)
            {
                string str;
                int    nBits = 0;
                UE_CapabilityRAT_Container container = new UE_CapabilityRAT_Container();

                container.InitDefaults();
                int num2 = (input.ReadBit() == 0) ? 3 : 3;

                container.rat_Type = (RAT_Type)input.ReadBits(num2);
                nBits = input.ReadBits(8);
                if ((container.rat_Type == RAT_Type.eutra) && (nBits > 0))
                {
                    str = input.readOctetString(nBits);
                    BitArrayInputStream inputStream = GetInputStream(str.Remove(str.Length - 2) + "00000000");
                    container.ueCapabilityRAT_Container = UE_EUTRA_Capability.PerDecoder.Instance.Decode(inputStream);
                    return(container);
                }
                if (container.rat_Type == RAT_Type.cdma2000_1XRTT)
                {
                    container.ueCapabilityRAT_Container = A21MobileSubscriptionInformation.PerDecoder.Instance.Decode(input);
                    return(container);
                }
                str = input.readOctetString(nBits);
                container.ueCapabilityRAT_Container = str;
                return(container);
            }
コード例 #4
0
            public UECapabilityInformation_r8_IEs Decode(BitArrayInputStream input)
            {
                UECapabilityInformation_r8_IEs es = new UECapabilityInformation_r8_IEs();

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

                es.ue_CapabilityRAT_ContainerList = new List <UE_CapabilityRAT_Container>();
                const int nBits = 4;
                int       num3  = input.readBits(nBits);

                for (int i = 0; i < num3; i++)
                {
                    UE_CapabilityRAT_Container item = UE_CapabilityRAT_Container.PerDecoder.Instance.Decode(input);
                    es.ue_CapabilityRAT_ContainerList.Add(item);
                }
                if (stream.Read())
                {
                    es.nonCriticalExtension = UECapabilityInformation_v8a0_IEs.PerDecoder.Instance.Decode(input);
                }
                return(es);
            }