public A21MobileSubscriptionInformation Decode(BitArrayInputStream input) { A21MobileSubscriptionInformation information = new A21MobileSubscriptionInformation { A21ElementIdentifier = input.readOctetString(1), Length = input.ReadBits(8), RecordIdentifier = input.readOctetString(1), RecordLength = input.ReadBits(8), AllBandClassesIncluded = input.ReadBits(1), CurrentBandSubclass = input.ReadBits(7), BandClassList = new List <BandClass>() }; for (int i = 1; i < information.RecordLength; i++) { BandClass item = new BandClass { BandClassValue = input.ReadBits(8), AllBandClassesIncluded = input.ReadBits(1) }; input.ReadBits(3); item.BandSubclassLength = input.ReadBits(4); i += 2; item.SubClassesList = new List <SubClasses>(); for (int j = 0; j < item.BandSubclassLength; j++) { SubClasses classes = new SubClasses { SC7 = input.ReadBit(), SC6 = input.ReadBit(), SC5 = input.ReadBit(), SC4 = input.ReadBit(), SC3 = input.ReadBit(), SC2 = input.ReadBit(), SC1 = input.ReadBit(), SC0 = input.ReadBit() }; item.SubClassesList.Add(classes); i++; } information.BandClassList.Add(item); } return(information); }
public A21MobileSubscriptionInformation Decode(BitArrayInputStream input) { A21MobileSubscriptionInformation information = new A21MobileSubscriptionInformation { A21ElementIdentifier = input.readOctetString(1), Length = input.ReadBits(8), RecordIdentifier = input.readOctetString(1), RecordLength = input.ReadBits(8), AllBandClassesIncluded = input.ReadBits(1), CurrentBandSubclass = input.ReadBits(7), BandClassList = new List<BandClass>() }; for (int i = 1; i < information.RecordLength; i++) { BandClass item = new BandClass { BandClassValue = input.ReadBits(8), AllBandClassesIncluded = input.ReadBits(1) }; input.ReadBits(3); item.BandSubclassLength = input.ReadBits(4); i += 2; item.SubClassesList = new List<SubClasses>(); for (int j = 0; j < item.BandSubclassLength; j++) { SubClasses classes = new SubClasses { SC7 = input.ReadBit(), SC6 = input.ReadBit(), SC5 = input.ReadBit(), SC4 = input.ReadBit(), SC3 = input.ReadBit(), SC2 = input.ReadBit(), SC1 = input.ReadBit(), SC0 = input.ReadBit() }; item.SubClassesList.Add(classes); i++; } information.BandClassList.Add(item); } return information; }