TTY streams are used to represent serial connections that are fully "streamable" objects using C++ stream classes and friends.
More...
|
void | interactive (bool flag) |
| Set tty mode to buffered or "interactive".
|
|
bool | isPending (Pending pend, timeout_t timeout=ucommon::Timer::inf) |
| Get the status of pending operations.
|
|
void | setTimeout (timeout_t to) |
| Set the timeout control.
|
|
int | sync (void) |
| Flushes the stream input and out buffers, writes pending output.
|
|
| TTYStream (const char *filename, timeout_t to=0) |
| Create and open a tty serial port.
|
|
virtual | ~TTYStream () |
| End the tty stream and cleanup.
|
|
int | getBufferSize (void) |
| Get the "buffer" size for buffered operations.
|
|
Error | getErrorNumber (void) |
| Often used by a "catch" to fetch the last error of a thrown serial.
|
|
char * | getErrorString (void) |
| Often used by a "catch" to fetch the user set error string of a thrown serial.
|
|
Serial & | operator= (const Serial &from) |
| Serial ports may also be duplecated by the assignment operator.
|
|
void | sendBreak (void) |
| Send the "break" signal.
|
|
Error | setCharBits (int bits) |
| Set character size.
|
|
Error | setFlowControl (Flow flow) |
| Set flow control.
|
|
Error | setParity (Parity parity) |
| Set parity mode.
|
|
Error | setSpeed (unsigned long speed) |
| Set serial port speed for both input and output.
|
|
Error | setStopBits (int bits) |
| Set number of stop bits.
|
|
void | toggleDTR (timeout_t millisec) |
| Set the DTR mode off momentarily.
|
|
virtual | ~Serial () |
| The serial base class may be "thrown" as a result on an error, and the "catcher" may then choose to destory the object.
|
|
|
void | allocate (void) |
| Used to allocate the buffer space needed for iostream operations.
|
|
void | endStream (void) |
| Used to terminate the buffer space and clean up the tty connection.
|
|
int | overflow (int ch) |
| This streambuf method is used to write the output buffer through the established tty port.
|
|
| TTYStream () |
| This constructor is used to derive "ttystream", a more C++ style version of the TTYStream class.
|
|
int | uflow (void) |
| This streambuf method is used for doing unbuffered reads through the establish tty serial port when in interactive mode.
|
|
int | underflow (void) |
| This streambuf method is used to load the input buffer through the established tty serial port.
|
|
virtual int | aRead (char *Data, const int Length) |
| Reads from serial device.
|
|
virtual int | aWrite (const char *Data, const int Length) |
| Writes to serial device.
|
|
void | close (void) |
| Closes the serial device.
|
|
void | endSerial (void) |
| Used as the default destructor for ending serial I/O services.
|
|
Error | error (Error error, char *errstr=((void *) 0)) |
| This service is used to throw all serial errors which usually occur during the serial constructor.
|
|
void | error (char *err) |
| This service is used to thow application defined serial errors where the application specific error code is a string.
|
|
void | flushInput (void) |
| Used to flush the input waiting queue.
|
|
void | flushOutput (void) |
| Used to flush any pending output data.
|
|
void | initConfig (void) |
| Used to initialize a newly opened serial file handle.
|
|
void | open (const char *fname) |
| Opens the serial device.
|
|
void | restore (void) |
| Restore serial device to the original settings at time of open.
|
|
| Serial () |
| This allows later ttystream class to open and close a serial device.
|
|
| Serial (const char *name) |
| A serial object may be constructed from a named file on the file system.
|
|
void | setError (bool enable) |
| This method is used to turn the error handler on or off for "throwing" execptions by manipulating the thrown flag.
|
|
int | setLineInput (char newline=13, char nl1=0) |
| Set "line buffering" read mode and specifies the newline character to be used in seperating line records.
|
|
int | setPacketInput (int size, unsigned char btimer=0) |
| Set packet read mode and "size" of packet read buffer.
|
|
void | waitOutput (void) |
| Used to wait until all output has been sent.
|
|
|
enum | Error {
errSuccess = 0,
errOpenNoTty,
errOpenFailed,
errSpeedInvalid,
errFlowInvalid,
errParityInvalid,
errCharsizeInvalid,
errStopbitsInvalid,
errOptionInvalid,
errResourceFailure,
errOutput,
errInput,
errTimeout,
errExtended
} |
|
typedef enum Error | Error |
|
enum | Flow { flowNone,
flowSoft,
flowHard,
flowBoth
} |
|
typedef enum Flow | Flow |
|
enum | Parity { parityNone,
parityOdd,
parityEven
} |
|
typedef enum Parity | Parity |
|
enum | Pending { pendingInput,
pendingOutput,
pendingError
} |
|
typedef enum Pending | Pending |
|
TTY streams are used to represent serial connections that are fully "streamable" objects using C++ stream classes and friends.
The first application relevant serial I/O class is the TTYStream class. TTYStream offers a linearly buffered "streaming" I/O session with the serial device. Furthermore, traditional C++ "stream" operators (<< and >>) may be used with the serial device. A more "true" to ANSI C++ library format "ttystream" is also available, and this supports an "open" method in which one can pass initial serial device parameters immediately following the device name in a single string, as in "/dev/tty3a:9600,7,e,1", as an example.
The TTYSession aggragates a TTYStream and a Common C++ Thread which is assumed to be the execution context that will be used to perform actual I/O operations. This class is very anagolous to TCPSession.
- Author
- David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m streamable tty serial I/O class.
Definition at line 416 of file serial.h.