Man Linux: Main Page and Category List

NAME

       ost::SerialPort -

       The serial port is an internal class which is attached to and then
       serviced by a specified SerialService thread.

SYNOPSIS

       #include <serial.h>

       Inherits ost::Serial, and ost::TimerPort.

   Public Member Functions
       void setTimer (timeout_t timeout=0)
           Derived setTimer to notify the service thread pool of changes in
           expected timeout.
       void incTimer (timeout_t timeout)
           Derived incTimer to notify the service thread pool of a change in
           expected timeout.

   Protected Member Functions
       SerialPort (SerialService *svc, const char *name)
           Construct a tty serial port for a named serial device.
       virtual ~SerialPort ()
           Disconnect the Serial Port from the service pool thread and
           shutdown the port.
       void setDetectPending (bool)
           Used to indicate if the service thread should monitor pending data
           for us.
       bool getDetectPending (void) const
           Get the current state of the DetectPending flag.
       void setDetectOutput (bool)
           Used to indicate if output ready monitoring should be performed by
           the service thread.
       bool getDetectOutput (void) const
           Get the current state of the DetectOutput flag.
       virtual void expired (void)
           Called by the service thread when the objects timer has expired.
       virtual void pending (void)
           Called by the service thread when input data is pending for this
           tty port.
       virtual void disconnect (void)
           Called by the service thread when an exception has occured such as
           a hangup.
       int output (void *buf, int len)
           Transmit send data to the serial port.
       virtual void output (void)
           Perform when output is available for sending data.
       int input (void *buf, int len)
           Receive input for pending data from the serial port.

   Friends
       class SerialService

Detailed Description

       The serial port is an internal class which is attached to and then
       serviced by a specified SerialService thread.

       Derived versions of this class offer specific functionality such as
       serial integration protocols.

       The TTYPort and TTYService classes are used to form thread-pool
       serviced serial I/O protocol sets. These can be used when one has a
       large number of serial devices to manage, and a single (or limited
       number of) thread(s) can then be used to service the tty port objects
       present. Each tty port supports a timer control and several virtual
       methods that the service thread can call when events occur. This model
       provides for ’callback’ event management, whereby the service thread
       performs a ’callback’ into the port object when events occur. Specific
       events supported include the expiration of a TTYPort timer, pending
       input data waiting to be read, and ’sighup’ connection breaks.

       Author:
           David Sugar <dyfet@ostel.com> base class for thread pool serviced
           serial I/O.

Constructor & Destructor Documentation

   ost::SerialPort::SerialPort (SerialService * svc, const char * name)
       [protected]
       Construct a tty serial port for a named serial device. Parameters:
           svc pool thread object.
           name of tty port.

   virtual ost::SerialPort::~SerialPort () [protected, virtual]
       Disconnect the Serial Port from the service pool thread and shutdown
       the port.

Member Function Documentation

   virtual void ost::SerialPort::disconnect (void) [protected, virtual]
       Called by the service thread when an exception has occured such as a
       hangup.

   virtual void ost::SerialPort::expired (void) [protected, virtual]
       Called by the service thread when the objects timer has expired.

   bool ost::SerialPort::getDetectOutput (void) const [inline, protected]
       Get the current state of the DetectOutput flag.

   bool ost::SerialPort::getDetectPending (void) const [inline, protected]
       Get the current state of the DetectPending flag.

   void ost::SerialPort::incTimer (timeout_t timeout)
       Derived incTimer to notify the service thread pool of a change in
       expected timeout. This allows SerialService to reschedule all timers.

       Reimplemented from ost::TimerPort.

   int ost::SerialPort::input (void * buf, int len) [inline, protected]
       Receive ’input’ for pending data from the serial port. This is not a
       public member since it’s meant to support internal protocols rather
       than direct external access to the device.

       Returns:
           number of bytes received.

       Parameters:
           buf address of buffer to input.
           len of input buffer used.

   virtual void ost::SerialPort::output (void) [protected, virtual]
       Perform when output is available for sending data.

   int ost::SerialPort::output (void * buf, int len) [inline, protected]
       Transmit ’send’ data to the serial port. This is not public since it’s
       meant to support internal protocols rather than direct public access to
       the device.

       Returns:
           number of bytes send.

       Parameters:
           buf address of buffer to send.
           len of bytes to send.

   virtual void ost::SerialPort::pending (void) [protected, virtual]
       Called by the service thread when input data is pending for this tty
       port. Effected by setPacketInput and by setLineInput.

   void ost::SerialPort::setDetectOutput (bool) [protected]
       Used to indicate if output ready monitoring should be performed by the
       service thread.

   void ost::SerialPort::setDetectPending (bool) [protected]
       Used to indicate if the service thread should monitor pending data for
       us.

   void ost::SerialPort::setTimer (timeout_t timeout = 0)
       Derived setTimer to notify the service thread pool of changes in
       expected timeout. This allows SerialService to reschedule all timers.

       Parameters:
           timeout in milliseconds.

       Reimplemented from ost::TimerPort.

Friends And Related Function Documentation

   friend class SerialService [friend]

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source
       code.