summaryrefslogtreecommitdiff
path: root/src/serialport/qserialport_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport/qserialport_p.h')
-rw-r--r--src/serialport/qserialport_p.h27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/serialport/qserialport_p.h b/src/serialport/qserialport_p.h
index 10fda34..0e4f8bd 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);