Main Page   Class Hierarchy   Compound List   File List   Compound Members  

QextSerialBase Class Reference

Inheritance diagram for QextSerialBase::

Posix_QextSerialPort Win_QextSerialPort List of all members.

Public Methods

 QextSerialBase ()
 QextSerialBase (const char *name)
virtual ~QextSerialBase ()
virtual void construct (void)
virtual const char * name () const
virtual void setName (const char *name)
virtual bool open (int mode=0)=0
virtual bool open (const char *name)
virtual void close ()=0
virtual void flush ()=0
virtual Offset size () const=0
virtual int readLine (char *data, uint maxlen)
virtual int getch ()=0
virtual int putch (int)=0
virtual int ungetch (int)
virtual bool atEnd () const
virtual void setFlowControl (FlowType)=0
virtual FlowType flowControl () const
virtual void setParity (ParityType)=0
virtual ParityType parity () const
virtual void setDataBits (DataBitsType)=0
virtual DataBitsType dataBits () const
virtual void setStopBits (StopBitsType)=0
virtual StopBitsType stopBits () const
virtual void setBaudRate (BaudRateType)=0
virtual BaudRateType baudRate () const
virtual bool isOpen () const
virtual unsigned long lastError () const
virtual void setDtr (bool set=true)=0
virtual void setRts (bool set=true)=0
virtual unsigned long lineStatus (void)=0
virtual int bytesWaiting ()=0
virtual void translateError (unsigned long)=0
virtual void setTimeout (unsigned long, unsigned long)=0
virtual bool isOpen (void)
virtual Q_LONG readBlock (char *data, unsigned long maxlen)=0
virtual Q_LONG writeBlock (const char *data, unsigned long len)=0

Protected Attributes

bool portOpen
unsigned long lastErr
char portName [PORT_NAME_SIZE_LIMIT+1]
PortSettings Settings

Detailed Description

Version:
0.70 (pre-alpha)
Author:
Wayne Roth
A common base class for Win_QextSerialBase, Posix_QextSerialBase and QextSerialPort.


Constructor & Destructor Documentation

QextSerialBase::QextSerialBase  
 

Default constructor.

QextSerialBase::QextSerialBase const char *    name
 

Construct a port and assign it to the device specified by the name parameter.

QextSerialBase::~QextSerialBase   [virtual]
 

Standard destructor.


Member Function Documentation

bool QextSerialBase::atEnd   const [virtual]
 

This function will return true if the input buffer is empty (or on error), and false otherwise. Call QextSerialBase::lastError() for error information.

BaudRateType QextSerialBase::baudRate void    const [virtual]
 

Returns the baud rate of the serial port. For a list of possible return values see the definition of the enum BaudRateType.

void QextSerialBase::construct void    [virtual]
 

Common constructor function, called by all versions of Win_QextSerialPort::Win_QextSerialPort(). Sets up default port settings (115200 8N1 Hardware flow control where supported, otherwise no flow control, and 500 ms timeout).

Reimplemented in Posix_QextSerialPort, and Win_QextSerialPort.

DataBitsType QextSerialBase::dataBits   const [virtual]
 

Returns the number of data bits used by the port. For a list of possible values returned by this function, see the definition of the enum DataBitsType.

FlowType QextSerialBase::flowControl   const [virtual]
 

Returns the type of flow control used by the port. For a list of possible values returned by this function, see the definition of the enum FlowType.

bool QextSerialBase::isOpen void    [virtual]
 

Returns true if the port is currently open, false otherwise

bool QextSerialBase::isOpen void    const [virtual]
 

Returns true if the port associated with the class is currently open, or false if it is not.

unsigned long QextSerialBase::lastError   const [virtual]
 

Returns the code for the last error encountered by the port, or E_NO_ERROR if the last port operation was successful. Possible error codes are:

Error                           Explanation
---------------------------     -------------------------------------------------------------
E_NO_ERROR                      No Error has occured
E_INVALID_FD                    Invalid file descriptor (port was not opened correctly)
E_NO_MEMORY                     Unable to allocate memory tables (POSIX)
E_CAUGHT_NON_BLOCKED_SIGNAL     Caught a non-blocked signal (POSIX)
E_PORT_TIMEOUT                  Operation timed out (POSIX)
E_INVALID_DEVICE                The file opened by the port is not a character device (POSIX)
E_BREAK_CONDITION               The port detected a break condition
E_FRAMING_ERROR                 The port detected a framing error 
                                (usually caused by incorrect baud rate settings)
E_IO_ERROR                      There was an I/O error while communicating with the port
E_BUFFER_OVERRUN                Character buffer overrun
E_RECEIVE_OVERFLOW              Receive buffer overflow
E_RECEIVE_PARITY_ERROR          The port detected a parity error in the received data
E_TRANSMIT_OVERFLOW             Transmit buffer overflow
E_READ_FAILED                   General read operation failure
E_WRITE_FAILED                  General write operation failure

const char * QextSerialBase::name   const [virtual]
 

Returns a pointer to a string containing the name of the device associated with the object

bool QextSerialBase::open const char *    name [virtual]
 

Opens a serial port by name. The string passed in the name parameter is associated with the object and subsequent calls to open() may use the no-parameter version. This function has no effect if the port associated with the class is already open. The port is also configured to the current settings, as stored in the Settings structure.

ParityType QextSerialBase::parity   const [virtual]
 

Returns the type of parity used by the port. For a list of possible values returned by this function, see the definition of the enum ParityType.

int QextSerialBase::readLine char *    data,
uint    maxlen
[virtual]
 

This function will read a line of buffered input from the port, stopping when either maxlen bytes have been read, the port has no more data available, or a newline is encountered. The value returned is the length of the string that was read.

Thanks to Olivier Tubach for the original version of this function.

void QextSerialBase::setName const char *    name [virtual]
 

Sets the name of the device associated with the object, e.g. "COM1", or "/dev/ttyS0".

StopBitsType QextSerialBase::stopBits   const [virtual]
 

Returns the number of stop bits used by the port. For a list of possible return values, see the definition of the enum StopBitsType.

int QextSerialBase::ungetch int    [virtual]
 

This function is included to implement the full QIODevice interface, and currently has no purpose within this class. This function is meaningless on an unbuffered device and currently only prints a warning message to that effect.

Reimplemented in Posix_QextSerialPort, and Win_QextSerialPort.


The documentation for this class was generated from the following files:
Generated on Sat Jun 15 15:43:04 2002 for QextSerialPort by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001