New shutdown detect

This commit is contained in:
Ximi1970
2020-02-24 22:02:57 +01:00
parent 8c4bad737f
commit f96482ffef
3 changed files with 41 additions and 4 deletions

View File

@@ -6,10 +6,6 @@
QT += core gui
unix: {
QT += x11extras
}
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = SysTray-X

View File

@@ -104,6 +104,8 @@ void SysTrayXLinkReader::stopThread()
*/
void SysTrayXLinkReader::slotWorker()
{
int error_count = 0;
while( m_doWork )
{
qint32 data_len;
@@ -122,6 +124,25 @@ void SysTrayXLinkReader::slotWorker()
* Send the data to my parent
*/
emit signalReceivedMessage( data );
/*
* Send the data to my parent
*/
if( data.at( 0 ) == '{' )
{
emit signalReceivedMessage( data );
error_count = 0;
}
else
{
error_count++;
if( error_count > 20 )
{
emit signalShutdown();
}
}
}
}
@@ -165,6 +186,7 @@ SysTrayXLink::SysTrayXLink( Preferences* pref )
connect( m_reader_thread, &QThread::finished, reader, &QObject::deleteLater );
connect( reader, &SysTrayXLinkReader::signalReceivedMessage, this, &SysTrayXLink::slotLinkRead );
connect( reader, &SysTrayXLinkReader::signalShutdown, this, &SysTrayXLink::slotShutdown );
connect( reader, &SysTrayXLinkReader::signalDebugMessage, this, &SysTrayXLink::slotDebugMessage );
@@ -440,6 +462,15 @@ void SysTrayXLink::slotReceivedData( QByteArray data )
}
/*
* Relay shutdown signal
*/
void SysTrayXLink::slotShutdown()
{
emit signalShutdown();
}
/*
* Read the input
*/

View File

@@ -85,6 +85,11 @@ class SysTrayXLinkReader : public QObject
*/
void signalReceivedMessage( QByteArray message );
/**
* @brief signalShutdown. Signal to shutdown the app.
*/
void signalShutdown();
private:
/**
@@ -277,6 +282,11 @@ class SysTrayXLink : public QObject
*/
void slotLinkRead( QByteArray message );
/**
* @brief slotShutdown. Handle sahutdown signal from reader thread.
*/
void slotShutdown();
private:
/**