Exemple #1
0
        /// <summary>
        /// <para>MESSAGEREAD</para>
        /// </summary>
        /// <remarks>
        /// <para>Reference: BDK, Appendix 2, p. 11.</para>
        /// </remarks>
        /// <param name="remoteInboxNo">Remote Inbox number</param>
        /// <param name="localInboxNo">Local Inbox number</param>
        /// <param name="remove">Remove? True: clears message from Remote Inbox</param>
        /// <returns>Message data</returns>
        public string MessageRead(NxtMailbox2 remoteInboxNo, NxtMailbox localInboxNo, bool remove)
        {
            byte[] request = new byte[] {
                0x00,
                (byte)NxtCommand.MessageRead,
                (byte)remoteInboxNo,
                (byte)localInboxNo,
                (byte)(remove ? 0xFF : 0x00)
            };

            byte[] reply = Send(request);

            if (reply == null)
            {
                return(null);
            }

            byte localInboxNoOut = reply[3];  // TODO: Validate on this?

            byte messageSize = reply[4];

            string message = Encoding.ASCII.GetString(reply, 5, messageSize).TrimEnd('\0');

            return(message);
        }
        /// <summary>
        /// <para>MESSAGEREAD</para>
        /// </summary>
        /// <remarks>
        /// <para>Reference: BDK, Appendix 2, p. 11.</para>
        /// </remarks>
        /// <param name="remoteInboxNo">Remote Inbox number</param>
        /// <param name="localInboxNo">Local Inbox number</param>
        /// <param name="remove">Remove? True: clears message from Remote Inbox</param>
        /// <returns>Message data</returns>
        public string MessageRead(NxtMailbox2 remoteInboxNo, NxtMailbox localInboxNo, bool remove)
        {
            byte[] request = new byte[] {
                0x00,
                (byte) NxtCommand.MessageRead,
                (byte) remoteInboxNo,
                (byte) localInboxNo,
                (byte) (remove ? 0xFF : 0x00)
            };

            byte[] reply = Send(request);

            if (reply == null) return null;

            byte localInboxNoOut = reply[3];  // TODO: Validate on this?

            byte messageSize = reply[4];

            string message = Encoding.ASCII.GetString(reply, 5, messageSize).TrimEnd('\0');
            return message;
        }