public TAI_Cancelled_Item Decode(BitArrayInputStream input) { TAI_Cancelled_Item item = new TAI_Cancelled_Item(); item.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); item.tAI = TAI.PerDecoder.Instance.Decode(input); input.skipUnreadedBits(); item.cancelledCellinTAI = new List <CancelledCellinTAI_Item>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { CancelledCellinTAI_Item item2 = CancelledCellinTAI_Item.PerDecoder.Instance.Decode(input); item.cancelledCellinTAI.Add(item2); } if (stream.Read()) { input.skipUnreadedBits(); item.iE_Extensions = new List <ProtocolExtensionField>(); nBits = 0x10; int num7 = input.ReadBits(nBits) + 1; for (int j = 0; j < num7; j++) { ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input); item.iE_Extensions.Add(field); } } return(item); }
public BroadcastCancelledAreaList Decode(BitArrayInputStream input) { int num4; BroadcastCancelledAreaList list = new BroadcastCancelledAreaList(); list.InitDefaults(); input.readBit(); switch (input.readBits(2)) { case 0: { input.skipUnreadedBits(); list.cellID_Cancelled = new List <CellID_Cancelled_Item>(); num4 = 0x10; int num6 = input.readBits(num4) + 1; for (int i = 0; i < num6; i++) { CellID_Cancelled_Item item = CellID_Cancelled_Item.PerDecoder.Instance.Decode(input); list.cellID_Cancelled.Add(item); } return(list); } case 1: { input.skipUnreadedBits(); list.tAI_Cancelled = new List <TAI_Cancelled_Item>(); num4 = 0x10; int num8 = input.readBits(num4) + 1; for (int j = 0; j < num8; j++) { TAI_Cancelled_Item item2 = TAI_Cancelled_Item.PerDecoder.Instance.Decode(input); list.tAI_Cancelled.Add(item2); } return(list); } case 2: { input.skipUnreadedBits(); list.emergencyAreaID_Cancelled = new List <EmergencyAreaID_Cancelled_Item>(); num4 = 0x10; int num10 = input.readBits(num4) + 1; for (int k = 0; k < num10; k++) { EmergencyAreaID_Cancelled_Item item3 = EmergencyAreaID_Cancelled_Item.PerDecoder.Instance.Decode(input); list.emergencyAreaID_Cancelled.Add(item3); } return(list); } } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
public TAI_Cancelled_Item Decode(BitArrayInputStream input) { TAI_Cancelled_Item item = new TAI_Cancelled_Item(); item.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); item.tAI = TAI.PerDecoder.Instance.Decode(input); input.skipUnreadedBits(); item.cancelledCellinTAI = new List<CancelledCellinTAI_Item>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { CancelledCellinTAI_Item item2 = CancelledCellinTAI_Item.PerDecoder.Instance.Decode(input); item.cancelledCellinTAI.Add(item2); } if (stream.Read()) { input.skipUnreadedBits(); item.iE_Extensions = new List<ProtocolExtensionField>(); nBits = 0x10; int num7 = input.ReadBits(nBits) + 1; for (int j = 0; j < num7; j++) { ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input); item.iE_Extensions.Add(field); } } return item; }