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); }
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; }
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); }
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); }