Trade equipment common library.  1.0.0
posix_qextserialport.h
1 #ifndef _POSIX_QEXTSERIALPORT_H_
2 #define _POSIX_QEXTSERIALPORT_H_
3 
4 #include <stdio.h>
5 #include <termios.h>
6 #include <errno.h>
7 #include <unistd.h>
8 #include <sys/time.h>
9 #include <sys/ioctl.h>
10 #include <sys/select.h>
11 #include <fcntl.h>
12 #include "qextserialbase.h"
13 #include "teglobal.h"
14 
15 /* Get rid of QFile in TSerialPort */
16 // Move to lib.pro
17 //#define NOQFILE
18 
19 /*ensure handling of CRTSCTS constant*/
20 #ifdef CNEW_RTSCTS
21 #ifndef CRTSCTS
22 #define CRTSCTS CNEW_RTSCTS
23 #endif //CRTSCTS
24 #else
25 #ifndef CRTSCTS
26 #define CRTSCTS 0
27 #endif //CRTSCTS
28 #endif //CNEW_RTSCTS
29 
30 #ifndef CMSPAR
31  #define CMSPAR 010000000000
32 #endif
33 
34 //weird scoping issue with gcc 2.95 - this should fix it
35 #ifdef QT_LARGE_FILE_SUPPORT
36  typedef off_t Offset;
37 #else
38  typedef Q_ULONG Offset;
39 #endif
40 
42 public:
45  Posix_QextSerialPort(const char* name);
46  Posix_QextSerialPort(const PortSettings& settings);
47  Posix_QextSerialPort(const char* name, const PortSettings& settings);
49  virtual ~Posix_QextSerialPort();
50  virtual bool open(int mode=0);
51  virtual void close();
52  virtual void flush();
53  virtual Offset size() const;
54  virtual int getch();
55  virtual int putch(int);
56  virtual int ungetch(int);
57  virtual void setFlowControl(FlowType);
58  virtual void setParity(ParityType);
59  virtual void setDataBits(DataBitsType);
60  virtual void setStopBits(StopBitsType);
61  virtual void setBaudRate(BaudRateType);
62  virtual void setDtr(bool set=true);
63  virtual void setRts(bool set=true);
64  virtual unsigned long lineStatus(void);
65  virtual int bytesWaiting();
66  virtual void translateError(unsigned long);
67  virtual void setTimeout(unsigned long=0, unsigned long=0);
68 
69 #ifdef QTVER_PRE_30
70  virtual Q_LONG readBlock(char *data, uint maxlen);
71  virtual Q_LONG writeBlock(const char *data, uint len);
72 #else
73  virtual Q_LONG readBlock(char *data, unsigned long maxlen);
74  virtual Q_LONG writeBlock(const char *data, unsigned long len);
75 #endif
76 
77 protected:
78 #ifdef NOQFILE
79  int m_fdFile;
80 #else
81  QFile* Posix_File;
82 #endif
83 //protected:
84 // QFile* Posix_File;
85  struct termios Posix_CommConfig;
86  struct timeval Posix_Timeout;
87  struct timeval Posix_Copy_Timeout;
88  void construct(void);
89 };
90 
91 #endif
virtual unsigned long lineStatus(void)
Definition: posix_qextserialport.cpp:1224
void construct(void)
Definition: posix_qextserialport.cpp:151
virtual Q_LONG writeBlock(const char *data, unsigned long len)
Definition: posix_qextserialport.cpp:379
virtual void setDtr(bool set=true)
Definition: posix_qextserialport.cpp:1154
virtual ~Posix_QextSerialPort()
Definition: posix_qextserialport.cpp:113
virtual void flush()
Definition: posix_qextserialport.cpp:242
virtual int getch()
Definition: posix_qextserialport.cpp:408
virtual int ungetch(int)
Definition: posix_qextserialport.cpp:466
virtual void setParity(ParityType)
Definition: posix_qextserialport.cpp:548
virtual void setBaudRate(BaudRateType)
Definition: posix_qextserialport.cpp:837
Posix_QextSerialPort & operator=(const Posix_QextSerialPort &s)
Definition: posix_qextserialport.cpp:125
virtual int putch(int)
Definition: posix_qextserialport.cpp:436
virtual void setFlowControl(FlowType)
Definition: posix_qextserialport.cpp:486
virtual void close()
Definition: posix_qextserialport.cpp:225
virtual void setStopBits(StopBitsType)
Definition: posix_qextserialport.cpp:751
virtual void setDataBits(DataBitsType)
Definition: posix_qextserialport.cpp:657
virtual bool open(int mode=0)
Definition: posix_qextserialport.cpp:173
virtual Q_LONG readBlock(char *data, unsigned long maxlen)
Definition: posix_qextserialport.cpp:349
POSIX serial port class.
Definition: posix_qextserialport.h:41
Posix_QextSerialPort()
Definition: posix_qextserialport.cpp:40
QT serial port base class for Posix_QextSerialPort and Win_QextSerialPort classes.
Definition: qextserialbase.h:168
virtual void translateError(unsigned long)
Definition: posix_qextserialport.cpp:325
virtual void setTimeout(unsigned long=0, unsigned long=0)
Definition: posix_qextserialport.cpp:1280
virtual void setRts(bool set=true)
Definition: posix_qextserialport.cpp:1180
virtual Offset size() const
Definition: posix_qextserialport.cpp:261
Definition: qextserialbase.h:158
virtual const char * name() const
Definition: qextserialbase.cpp:243
virtual int bytesWaiting()
Definition: posix_qextserialport.cpp:279