Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
157 KeyOz 1
#ifndef _WIN_QEXTSERIALPORT_H_
2
#define _WIN_QEXTSERIALPORT_H_
3
 
4
#include "qextserialbase.h"
5
 
6
/*if all warning messages are turned off, flag portability warnings to be turned off as well*/
7
#ifdef _TTY_NOWARN_
8
#define _TTY_NOWARN_PORT_
9
#endif
10
 
11
#include <windows.h>
12
 
13
class Win_QextSerialPort:public QextSerialBase {
14
public:
15
    Win_QextSerialPort();
16
    Win_QextSerialPort(Win_QextSerialPort const& s);
17
    Win_QextSerialPort(const QString & name);
18
    Win_QextSerialPort(const PortSettings& settings);
19
    Win_QextSerialPort(const QString & name, const PortSettings& settings);
20
    Win_QextSerialPort& operator=(const Win_QextSerialPort& s);
21
    virtual ~Win_QextSerialPort();
22
    virtual bool open(OpenMode mode=0);
23
    virtual void close();
24
    virtual void flush();
25
    virtual qint64 size() const;
26
    virtual void ungetChar(char c);
27
    virtual void setFlowControl(FlowType);
28
    virtual void setParity(ParityType);
29
    virtual void setDataBits(DataBitsType);
30
    virtual void setStopBits(StopBitsType);
31
    virtual void setBaudRate(BaudRateType);
32
    virtual void setDtr(bool set=true);
33
    virtual void setRts(bool set=true);
34
    virtual ulong lineStatus(void);
35
    virtual qint64 bytesAvailable();
36
    virtual void translateError(ulong);
37
    virtual void setTimeout(ulong, ulong);
38
 
39
protected:
40
    HANDLE Win_Handle;
41
    COMMCONFIG Win_CommConfig;
42
    COMMTIMEOUTS Win_CommTimeouts;
43
 
44
    virtual qint64 readData(char *data, qint64 maxSize);
45
    virtual qint64 writeData(const char *data, qint64 maxSize);
46
};
47
 
48
#endif