/***************************************************************************
 * Copyright (c) 2009 Digi International Inc., All Rights Reserved
 * 
 * This software contains proprietary and confidential information of Digi
 * International Inc.  By accepting transfer of this copy, Recipient agrees
 * to retain this software in confidence, to prevent disclosure to others,
 * and to make no use of this software other than that for which it was
 * delivered.  This is an unpublished copyrighted work of Digi International
 * Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
 * prohibited.
 * 
 * Restricted Rights Legend
 *
 * Use, duplication, or disclosure by the Government is subject to
 * restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
 * Technical Data and Computer Software clause at DFARS 252.227-7031 or
 * subparagraphs (c)(1) and (2) of the Commercial Computer Software -
 * Restricted Rights at 48 CFR 52.227-19, as applicable.
 *
 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
 *
 ***************************************************************************
 *
 * @Descr: EnumerationsXBeeSerialPort Class
 *
 * @History:
 *    10/01/09:   gsarabia      initial version.
 *
 ***************************************************************************/

#region Namespace Inclusions

using System;
using System.Text;
using System.IO.Ports;

#endregion

namespace Digi.ZigBee
{
    /// <summary>Specifies the baud rate for a XBeeSerialPort object.</summary>
    public enum BaudRateEnum : int
    {
        /// <summary>1200 bps.</summary>
        _1200 = 1200,
        /// <summary>2400 bps.</summary>
        _2400 = 2400,
        /// <summary>4800 bps.</summary>
        _4800 = 4800,
        /// <summary>9600 bps.</summary>
        _9600 = 9600,
        /// <summary>19200 bps.</summary>
        _19200 = 19200,
        /// <summary>38400 bps.</summary>
        _38400 = 38400,
        /// <summary>57600 bps.</summary>
        _57600 = 57600,
        /// <summary>115200 bps.</summary>
        _115200 = 115200
    }

    /// <summary>Specifies the parity bit for a XBeeSerialPort object.</summary>
    public enum ParityEnum
    {
        /// <summary>No parity check occurs.</summary>
        None = Parity.None,
        /// <summary>Sets the parity bit so that the count of bits set is an even number.</summary>
        Even = Parity.Even,
        /// <summary>Sets the parity bit so that the count of bits set is an odd number.</summary>
        Odd = Parity.Odd,
        /// <summary>Leaves the parity bit set to 1.</summary>
        Mark = Parity.Mark
    }

    /// <summary>Specifies the control protocol used in establishing a serial port communication for a XBeeSerialPort object.</summary>
    public enum HandshakeEnum
    {
        /// <summary>No control is used for the handshake.</summary>
        None = Handshake.None,
        /// <summary>Request-to-Send (RTS) hardware flow control is used for the handshake.</summary>
        Request_To_Send = Handshake.RequestToSend,
        /// <summary>Both the Request-to-Send (RTS) hardware control and the XON/XOFF software controls are used for the handshake.</summary>
        Request_To_Send_XOn_XOff = Handshake.RequestToSendXOnXOff,
        /// <summary>The XON/XOFF software control protocol is used for the handshake.</summary>
        XOn_XOff = Handshake.XOnXOff
    }

    /// <summary>Specifies the operation mode for a XBeeSerialPort object.</summary>
    public enum OperationModeEnum : byte
    {
        /// <summary>Disabled (Transparent operation).</summary>
        Transparent = 0x00,
        /// <summary>API enabled.</summary>
        API = 0x01,
        /// <summary>API enabled (with escaped characters).</summary>
        API_With_Escaped = 0x02
    }
}