Example #1
0
        internal ATMA(EndianBinaryReader Reader, UInt16 RDataLength)
        {
            base.UpdateProperties(Reader);

            Format = (ATMAFormat)Reader.ReadByte();

            StringBuilder ATMAddressTemp = new StringBuilder();

            if (Format == ATMAFormat.AESA)
            {
                for (int i = 0; i < (RDataLength - 1); i++)
                {
                    ATMAddressTemp.Append(Reader.ReadChar());
                }
            }
            else if (Format == ATMAFormat.E164)
            {
                ATMAddressTemp.Append("+");
                for (int i = 0; i < (RDataLength - 1); i++)
                {
                    if (i == 3 | i == 6)
                    {
                        ATMAddressTemp.Append(".");
                    }
                    ATMAddressTemp.Append(Reader.ReadChar());
                }
            }
            else if (Format == ATMAFormat.NSAP)
            {
                for (int i = 0; i < (RDataLength - 1); i++)
                {
                    if (i == 1 | i == 3 | i == 13 | i == 19)
                    {
                        ATMAddressTemp.Append(".");
                    }
                    ATMAddressTemp.Append(String.Format("{0:X2}", Reader.ReadByte()));
                }
            }

            ATMAddress = ATMAddressTemp.ToString();

            base.RecordData = ATMAddress;
        }
Example #2
0
        public ATMA(SearchResultEntry Entry, int Index = 0)
        {
            base.UpdateProperties(Entry, Index);
            this.Format = (ATMAFormat)base.RecordReader.ReadByte();

            StringBuilder ATMAddressTemp = new StringBuilder();

            if (Format == ATMAFormat.AESA)
            {
                for (int i = 0; i < (RDataLength - 1); i++)
                {
                    ATMAddressTemp.Append(base.RecordReader.ReadChar());
                }
            }
            else if (Format == ATMAFormat.E164)
            {
                ATMAddressTemp.Append("+");
                for (int i = 0; i < (RDataLength - 1); i++)
                {
                    if (i == 3 | i == 6)
                    {
                        ATMAddressTemp.Append(".");
                    }
                    ATMAddressTemp.Append(base.RecordReader.ReadChar());
                }
            }
            else if (Format == ATMAFormat.NSAP)
            {
                for (int i = 0; i < (RDataLength - 1); i++)
                {
                    if (i == 1 | i == 3 | i == 13 | i == 19)
                    {
                        ATMAddressTemp.Append(".");
                    }
                    ATMAddressTemp.Append(String.Format("{0:X2}", base.RecordReader.ReadByte()));
                }
            }
            ATMAddress = ATMAddressTemp.ToString();

            this.RecordData = this.ATMAddress;
        }