QlightRead package | ESS final project 1.22-beta
|
00001 #ifndef _WIN_QEXTSERIALPORT_H_ 00002 #define _WIN_QEXTSERIALPORT_H_ 00003 00004 #include "qextserialbase.h" 00005 00006 /*if all warning messages are turned off, flag portability warnings to be turned off as well*/ 00007 #ifdef _TTY_NOWARN_ 00008 #define _TTY_NOWARN_PORT_ 00009 #endif 00010 00011 #include <windows.h> 00012 00013 class Win_QextSerialPort:public QextSerialBase { 00014 public: 00015 Win_QextSerialPort(); 00016 Win_QextSerialPort(Win_QextSerialPort const& s); 00017 Win_QextSerialPort(const QString & name); 00018 Win_QextSerialPort(const PortSettings& settings); 00019 Win_QextSerialPort(const QString & name, const PortSettings& settings); 00020 Win_QextSerialPort& operator=(const Win_QextSerialPort& s); 00021 virtual ~Win_QextSerialPort(); 00022 virtual bool open(OpenMode mode=0); 00023 virtual void close(); 00024 virtual void flush(); 00025 virtual qint64 size() const; 00026 virtual void ungetChar(char c); 00027 virtual void setFlowControl(FlowType); 00028 virtual void setParity(ParityType); 00029 virtual void setDataBits(DataBitsType); 00030 virtual void setStopBits(StopBitsType); 00031 virtual void setBaudRate(BaudRateType); 00032 virtual void setDtr(bool set=true); 00033 virtual void setRts(bool set=true); 00034 virtual ulong lineStatus(void); 00035 virtual qint64 bytesAvailable(); 00036 virtual void translateError(ulong); 00037 virtual void setTimeout(ulong, ulong); 00038 00039 protected: 00040 HANDLE Win_Handle; 00041 COMMCONFIG Win_CommConfig; 00042 COMMTIMEOUTS Win_CommTimeouts; 00043 00044 virtual qint64 readData(char *data, qint64 maxSize); 00045 virtual qint64 writeData(const char *data, qint64 maxSize); 00046 }; 00047 00048 #endif