public WarningAreaList Decode(BitArrayInputStream input) { int num4; WarningAreaList list = new WarningAreaList(); list.InitDefaults(); input.ReadBit(); switch (input.ReadBits(2)) { case 0: { input.skipUnreadedBits(); list.cellIDList = new List <EUTRAN_CGI>(); num4 = 0x10; int num6 = input.ReadBits(num4) + 1; for (int i = 0; i < num6; i++) { EUTRAN_CGI item = EUTRAN_CGI.PerDecoder.Instance.Decode(input); list.cellIDList.Add(item); } return(list); } case 1: { input.skipUnreadedBits(); list.trackingAreaListforWarning = new List <TAI>(); num4 = 0x10; int num8 = input.ReadBits(num4) + 1; for (int j = 0; j < num8; j++) { TAI tai = TAI.PerDecoder.Instance.Decode(input); list.trackingAreaListforWarning.Add(tai); } return(list); } case 2: { input.skipUnreadedBits(); list.emergencyAreaIDList = new List <string>(); num4 = 0x10; int num10 = input.ReadBits(num4) + 1; for (int k = 0; k < num10; k++) { input.skipUnreadedBits(); string str = input.readOctetString(3); list.emergencyAreaIDList.Add(str); } return(list); } } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
public EUTRAN_CGI Decode(BitArrayInputStream input) { EUTRAN_CGI eutran_cgi = new EUTRAN_CGI(); eutran_cgi.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.skipUnreadedBits(); eutran_cgi.pLMNidentity = input.readOctetString(3); eutran_cgi.cell_ID = input.readBitString(0x1c); if (stream.Read()) { input.skipUnreadedBits(); eutran_cgi.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); eutran_cgi.iE_Extensions.Add(item); } } return(eutran_cgi); }
public EUTRAN_CGI Decode(BitArrayInputStream input) { EUTRAN_CGI eutran_cgi = new EUTRAN_CGI(); eutran_cgi.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.skipUnreadedBits(); eutran_cgi.pLMNidentity = input.readOctetString(3); eutran_cgi.cell_ID = input.readBitString(0x1c); if (stream.Read()) { input.skipUnreadedBits(); eutran_cgi.iE_Extensions = new List<ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); eutran_cgi.iE_Extensions.Add(item); } } return eutran_cgi; }