mirror of
https://github.com/x-tools-author/x-tools.git
synced 2025-09-15 15:28:40 +08:00
add interface
This commit is contained in:
parent
9306db0658
commit
dd2f7949ed
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user