diff options
Diffstat (limited to 'src/serialport/qserialport_p.h')
-rw-r--r-- | src/serialport/qserialport_p.h | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/serialport/qserialport_p.h b/src/serialport/qserialport_p.h index 10fda340..0e4f8bde 100644 --- a/src/serialport/qserialport_p.h +++ b/src/serialport/qserialport_p.h @@ -56,6 +56,7 @@ #include "qserialport.h" #include <private/qiodevice_p.h> +#include <qdeadlinetimer.h> #if defined(Q_OS_WIN32) # include <qt_windows.h> @@ -97,9 +98,12 @@ struct serial_struct { # error Unsupported OS #endif +#ifndef QSERIALPORT_BUFFERSIZE +#define QSERIALPORT_BUFFERSIZE 32768 +#endif + QT_BEGIN_NAMESPACE -class QThread; class QWinOverlappedIoNotifier; class QTimer; class QSocketNotifier; @@ -121,11 +125,6 @@ class QSerialPortPrivate : public QIODevicePrivate { Q_DECLARE_PUBLIC(QSerialPort) public: - enum IoConstants { - ReadChunkSize = 512, - InitialBufferSize = 16384 - }; - QSerialPortPrivate(); bool open(QIODevice::OpenMode mode); @@ -158,13 +157,11 @@ public: qint64 writeData(const char *data, qint64 maxSize); + bool initialize(QIODevice::OpenMode mode); + static QString portNameToSystemLocation(const QString &port); static QString portNameFromSystemLocation(const QString &location); -#if defined(Q_OS_UNIX) - static qint32 settingFromBaudRate(qint32 baudRate); -#endif - static QList<qint32> standardBaudRates(); qint64 readBufferMaxSize; @@ -179,12 +176,13 @@ public: bool settingsRestoredOnClose; bool isBreakEnabled; + bool startAsyncRead(); + #if defined(Q_OS_WIN32) - bool initialize(); bool setDcb(DCB *dcb); bool getDcb(DCB *dcb); - OVERLAPPED *waitForNotified(int msecs); + OVERLAPPED *waitForNotified(QDeadlineTimer deadline); qint64 queuedBytesCount(QSerialPort::Direction direction) const; @@ -193,7 +191,6 @@ public: bool completeAsyncWrite(qint64 bytesTransferred); bool startAsyncCommunication(); - bool startAsyncRead(); bool _q_startAsyncWrite(); void _q_notified(DWORD numberOfBytes, DWORD errorCode, OVERLAPPED *overlapped); @@ -213,12 +210,12 @@ public: OVERLAPPED communicationOverlapped; OVERLAPPED readCompletionOverlapped; OVERLAPPED writeCompletionOverlapped; - DWORD originalEventMask; DWORD triggeredEventMask; #elif defined(Q_OS_UNIX) - bool initialize(QIODevice::OpenMode mode); + static qint32 settingFromBaudRate(qint32 baudRate); + bool setTermios(const termios *tio); bool getTermios(termios *tio); |