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