00001 #ifndef _WIN_QEXTSERIALPORT_H_
00002 #define _WIN_QEXTSERIALPORT_H_
00003
00004 #include "qextserialbase.h"
00005
00006
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 char* name);
00018 Win_QextSerialPort(const PortSettings& settings);
00019 Win_QextSerialPort(const char* name, const PortSettings& settings);
00020 Win_QextSerialPort& operator=(Win_QextSerialPort const& s);
00021 virtual ~Win_QextSerialPort();
00022 virtual bool open(int mode=0);
00023 virtual void close();
00024 virtual void flush();
00025 virtual Offset size() const;
00026 virtual int getch();
00027 virtual int putch(int);
00028 virtual int ungetch(int);
00029 virtual void setFlowControl(FlowType);
00030 virtual void setParity(ParityType);
00031 virtual void setDataBits(DataBitsType);
00032 virtual void setStopBits(StopBitsType);
00033 virtual void setBaudRate(BaudRateType);
00034 virtual void setDtr(bool set=true);
00035 virtual void setRts(bool set=true);
00036 virtual unsigned long lineStatus(void);
00037 virtual int bytesWaiting();
00038 virtual void translateError(unsigned long);
00039 virtual void setTimeout(unsigned long=0, unsigned long=0);
00040
00041 #ifdef QTVER_PRE_30
00042 virtual Q_LONG readBlock(char *data, uint maxlen);
00043 virtual Q_LONG writeBlock(const char *data, uint len);
00044 #else
00045 virtual Q_LONG readBlock(char *data, unsigned long maxlen);
00046 virtual Q_LONG writeBlock(const char *data, unsigned long len);
00047 #endif
00048
00049 protected:
00050 HANDLE Win_Handle;
00051 COMMCONFIG Win_CommConfig;
00052 COMMTIMEOUTS Win_CommTimeouts;
00053
00054 void construct(void);
00055 };
00056
00057 #endif