예제 #1
0
        private byte[] CreateReceiptContent(SignalServiceReceiptMessage message)
        {
            Content        content        = new Content();
            ReceiptMessage receiptMessage = new ReceiptMessage();

            foreach (var timestamp in message.Timestamps)
            {
                receiptMessage.Timestamp.Add(timestamp);
            }

            if (message.IsDeliveryReceipt())
            {
                receiptMessage.Type = ReceiptMessage.Types.Type.Delivery;
            }
            else if (message.IsReadReceipt())
            {
                receiptMessage.Type = ReceiptMessage.Types.Type.Read;
            }

            content.ReceiptMessage = receiptMessage;
            return(receiptMessage.ToByteArray());
        }
예제 #2
0
        private SignalServiceReceiptMessage CreateReceiptMessage(Metadata metadata, ReceiptMessage content)
        {
            SignalServiceReceiptMessage.Type type;

            if (content.TypeOneofCase == ReceiptMessage.TypeOneofOneofCase.Type)
            {
                if (content.Type == ReceiptMessage.Types.Type.Delivery)
                {
                    type = SignalServiceReceiptMessage.Type.DELIVERY;
                }
                else if (content.Type == ReceiptMessage.Types.Type.Read)
                {
                    type = SignalServiceReceiptMessage.Type.READ;
                }
                else
                {
                    type = SignalServiceReceiptMessage.Type.UNKNOWN;
                }
            }
            else
            {
                type = SignalServiceReceiptMessage.Type.UNKNOWN;
            }
            var timestamps = new List <ulong>();

            foreach (var timestamp in content.Timestamp)
            {
                timestamps.Add(timestamp);
            }
            return(new SignalServiceReceiptMessage()
            {
                ReceiptType = type,
                Timestamps = timestamps,
                When = metadata.Timestamp
            });
        }
        private static SignalServiceReceiptMessage CreateReceiptMessage(SignalServiceMetadata metadata, ReceiptMessage content)
        {
            SignalServiceReceiptMessage.Type type;

            if (content.Type == ReceiptMessage.Types.Type.Delivery)
            {
                type = SignalServiceReceiptMessage.Type.DELIVERY;
            }
            else if (content.Type == ReceiptMessage.Types.Type.Read)
            {
                type = SignalServiceReceiptMessage.Type.READ;
            }
            else
            {
                type = SignalServiceReceiptMessage.Type.UNKNOWN;
            }

            return(new SignalServiceReceiptMessage()
            {
                ReceiptType = type,
                Timestamps = content.Timestamp.ToList(),
                When = metadata.Timestamp
            });
        }