#include <serial.h>
Inheritance diagram for SerialPort::

Public Methods | |
| void | setTimer (timeout_t timeout=0) |
| Derived setTimer to notify the service thread pool of changes in expected timeout. More... | |
| void | incTimer (timeout_t timeout) |
| Derived incTimer to notify the service thread pool of a change in expected timeout. More... | |
Protected Methods | |
| SerialPort (SerialService *svc, const char *name) | |
| Construct a tty serial port for a named serial device. More... | |
| virtual | ~SerialPort () |
| Disconnect the Serial Port from the service pool thread and shutdown the port. More... | |
| void | setDetectPending (bool) |
| Used to indicate if the service thread should monitor pending data for us. More... | |
| bool | getDetectPending (void) const |
| Get the current state of the DetectPending flag. More... | |
| void | setDetectOutput (bool) |
| Used to indicate if output ready monitoring should be performed by the service thread. More... | |
| bool | getDetectOutput (void) const |
| Get the current state of the DetectOutput flag. More... | |
| virtual void | Expired (void) |
| Called by the service thread when the objects timer has expired. More... | |
| virtual void | Pending (void) |
| Called by the service thread when input data is pending for this tty port. More... | |
| virtual void | Disconnect (void) |
| Called by the service thread when an exception has occured such as a hangup. More... | |
| int | Output (void *buf, int len) |
| Transmit "send" data to the serial port. More... | |
| virtual void | Output (void) |
| Perform when output is available for sending data. More... | |
| int | Input (void *buf, int len) |
| Receive "input" for pending data from the serial port. More... | |
Friends | |
| class | SerialService |
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.
|
||||||||||||
|
Construct a tty serial port for a named serial device.
|
|
|
Disconnect the Serial Port from the service pool thread and shutdown the port.
|
|
|
Called by the service thread when an exception has occured such as a hangup.
|
|
|
Called by the service thread when the objects timer has expired.
|
|
||||||||||||
|
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.
|
|
|
Perform when output is available for sending data.
|
|
||||||||||||
|
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.
|
|
|
Called by the service thread when input data is pending for this tty port. Effected by setPacketInput and by setLineInput. |
|
|
Get the current state of the DetectOutput flag.
|
|
|
Get the current state of the DetectPending flag.
|
|
|
Derived incTimer to notify the service thread pool of a change in expected timeout. This allows SerialService to reschedule all timers. Reimplemented from TimerPort. |
|
|
Used to indicate if output ready monitoring should be performed by the service thread.
|
|
|
Used to indicate if the service thread should monitor pending data for us.
|
|
|
Derived setTimer to notify the service thread pool of changes in expected timeout. This allows SerialService to reschedule all timers.
Reimplemented from TimerPort. |
|
|
|
1.2.10 written by Dimitri van Heesch,
© 1997-2001