summaryrefslogtreecommitdiff
path: root/src/serialport/qserialport_wince.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport/qserialport_wince.cpp')
-rw-r--r--src/serialport/qserialport_wince.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/serialport/qserialport_wince.cpp b/src/serialport/qserialport_wince.cpp
index 1cf79cc..a9c80b2 100644
--- a/src/serialport/qserialport_wince.cpp
+++ b/src/serialport/qserialport_wince.cpp
@@ -337,10 +337,9 @@ bool QSerialPortPrivate::setBreakEnabled(bool set)
return true;
}
-void QSerialPortPrivate::startWriting()
+qint64 QSerialPortPrivate::readData(char *data, qint64 maxSize)
{
- // trigger write sequence
- notifyWrite();
+ return readBuffer.read(data, maxSize);
}
bool QSerialPortPrivate::waitForReadyRead(int msec)
@@ -579,6 +578,19 @@ bool QSerialPortPrivate::notifyWrite()
return true;
}
+qint64 QSerialPortPrivate::bytesToWrite() const
+{
+ return writeBuffer.size();
+}
+
+qint64 QSerialPortPrivate::writeData(const char *data, qint64 maxSize)
+{
+ ::memcpy(writeBuffer.reserve(maxSize), data, maxSize);
+ if (!writeBuffer.isEmpty())
+ notifyWrite();
+ return maxSize;
+}
+
void QSerialPortPrivate::processIoErrors(bool error)
{
Q_Q(QSerialPort);