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