public LastVisitedCell_Item Decode(BitArrayInputStream input) { int nBits; LastVisitedCell_Item item = new LastVisitedCell_Item(); item.InitDefaults(); input.readBit(); switch (input.readBits(2)) { case 0: item.e_UTRAN_Cell = LastVisitedEUTRANCellInformation.PerDecoder.Instance.Decode(input); return(item); case 1: input.skipUnreadedBits(); nBits = 0; break; case 2: item.gERAN_Cell = LastVisitedGERANCellInformation.PerDecoder.Instance.Decode(input); return(item); default: throw new Exception(GetType().Name + ":NoChoice had been choose"); } while (true) { switch (input.readBit()) { case 0: nBits += input.readBits(7); goto Label_00F2; case 1: switch (input.readBit()) { case 0: nBits += input.readBits(14); goto Label_00F2; case 1: input.readBits(2); nBits += input.readBits(4) * 0x400; break; } break; } } Label_00F2: item.uTRAN_Cell = input.readOctetString(nBits); return(item); }
public static List <LastVisitedCell_Item> Value(BitArrayInputStream input) { List <LastVisitedCell_Item> list = new List <LastVisitedCell_Item>(); const int nBits = 4; int num2 = input.ReadBits(nBits) + 1; for (int i = 0; i < num2; i++) { LastVisitedCell_Item item = LastVisitedCell_Item.PerDecoder.Instance.Decode(input); list.Add(item); } return(list); }
public LastVisitedCell_Item Decode(BitArrayInputStream input) { int nBits; LastVisitedCell_Item item = new LastVisitedCell_Item(); item.InitDefaults(); input.ReadBit(); switch (input.ReadBits(2)) { case 0: item.e_UTRAN_Cell = LastVisitedEUTRANCellInformation.PerDecoder.Instance.Decode(input); return item; case 1: input.skipUnreadedBits(); nBits = 0; break; case 2: item.gERAN_Cell = LastVisitedGERANCellInformation.PerDecoder.Instance.Decode(input); return item; default: throw new Exception(GetType().Name + ":NoChoice had been choose"); } while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_00F2; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_00F2; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_00F2: item.uTRAN_Cell = input.readOctetString(nBits); return item; }