Exemplo n.º 1
0
        protected override void DoNetworkRead(BinaryReader reader)
        {
            CmppEncodings encoding = CmppEncodings.ASCII;

            this.Id                     = reader.NetworkReadUInt64();
            this.ReceiverId             = reader.NetworkReadString(21, encoding);
            this.ServiceId              = reader.NetworkReadString(10, encoding);
            this.TPPId                  = reader.NetworkReadByte();
            this.TPUdhi                 = reader.NetworkReadByte();
            this.Format                 = reader.NetworkReadByte();
            this.ServiceTerminalId      = reader.NetworkReadString(32, encoding);
            this.ServiceTerminalType    = reader.NetworkReadByte();
            this.DeliveryReportRequired = reader.NetworkReadByte();

            this.ContentByteCount = reader.NetworkReadByte();

            if (this.DeliveryReportRequired == 0)
            {
                this.Content = reader.NetworkReadString((int)this.ContentByteCount, (CmppEncodings)this.Format);
            }
            else
            {
                var buffer = reader.NetworkReadBytes((int)this.ContentByteCount);
                this.Content = Convert.ToBase64String(buffer, 0, buffer.Length);
            }

            this.LinkId = reader.NetworkReadString(20, encoding);
        }
Exemplo n.º 2
0
 public static string NetworkReadString(this BinaryReader reader, int count, CmppEncodings encoding)
 {
     return(reader.NetworkReadString(count, GetEncoding(encoding)));
 }
Exemplo n.º 3
0
        public static void CalculateContentByteCount(this CmppMessageDeliver message, CmppEncodings encoding)
        {
            var byteCount = GetEncoding(encoding).GetByteCount(message.Content);

            message.ContentByteCount = (byte)byteCount;
        }
Exemplo n.º 4
0
 public static void NetworkWrite(this BinaryWriter writer, string value, int count, CmppEncodings encoding)
 {
     writer.NetworkWrite(value, count, GetEncoding(encoding));
 }
Exemplo n.º 5
0
 public static Encoding GetEncoding(CmppEncodings encoding)
 {
     return(Encoders[encoding]);
 }