add interface

This commit is contained in:
wuuhii 2020-05-25 21:59:15 +08:00
parent 9306db0658
commit dd2f7949ed
2 changed files with 34 additions and 0 deletions

View File

@ -26,3 +26,28 @@ void SAKDevice::wakeMe()
{
threadWaitCondition.wakeAll();
}
void SAKDevice::writeBytes(QByteArray bytes)
{
waitingForWritingBytesListMutex.lock();
if (bytes.length()){
waitingForWritingBytesList.append(bytes);
}else{
waitingForWritingBytesList.append(QByteArray("empty"));
}
waitingForWritingBytesListMutex.unlock();
}
QByteArray SAKDevice::takeWaitingForWrittingBytes()
{
QByteArray bytes;
waitingForWritingBytesListMutex.lock();
if (waitingForWritingBytesList.length()){
bytes = waitingForWritingBytesList.takeFirst();
}else{
bytes = QByteArray();
}
waitingForWritingBytesListMutex.unlock();
return bytes;
}

View File

@ -38,9 +38,18 @@ public:
* @param bytes
*/
void writeBytes(QByteArray bytes);
/**
* @brief takeWaitingForWrittingBytes ,
* @return
*/
QByteArray takeWaitingForWrittingBytes();
protected:
QMutex threadMutex;
QWaitCondition threadWaitCondition;
private:
QMutex waitingForWritingBytesListMutex;
QList<QByteArray> waitingForWritingBytesList;
signals:
/// @brief 数据发送成功后触发该信号
void bytesWritten(QByteArray bytes);