5 #include "workerthread.h"
7 WorkerThread::WorkerThread(QObject
*parent
)
10 qDebug("WorkerThread::WorkerThread()");
12 // Initialize random generator here
15 // Make thread work forever by default
18 // At this point the class hasn't been fully initialized.
19 // The user must call setFileName(), before run()'ing.
22 WorkerThread::~WorkerThread()
24 qDebug("WorkerThread::~WorkerThread()");
36 void WorkerThread::run(void)
40 qDebug("WorkerThread::run()");
45 if (m_data
.size() >= 6667) {
47 condition
.wait(&m_mutex
);
51 qDebug("Reading from file");
59 void WorkerThread::setFileName(QString fileName
)
61 qDebug("WorkerThread::setFileName()");
66 // Caution: discard all old data in QQueue
67 // Worst case scenario if you don't: frame read corruption
71 m_file
.setFileName(fileName
);
72 m_file
.open(QIODevice::ReadOnly
);
73 in
.setDevice(&m_file
);
77 quint32
WorkerThread::getMagicVersion(void) const
79 qDebug("WorkerThread::getMagicVersion()");
81 return m_magicVersion
;
84 quint32
WorkerThread::getProtocolVersion(void) const
86 qDebug("WorkerThread::getProtocolVersion()");
88 return m_protocolVersion
;
91 float WorkerThread::getDuration(void) const
93 qDebug("WorkerThread::getDuration()");
98 quint32
WorkerThread::getNumOfRecords(void) const
100 qDebug("WorkerThread::getNumOfRecords()");
102 return m_numOfRecords
;
105 void WorkerThread::extractFileHeader(void)
107 qDebug("WorkerThread::extractFileHeader()");
109 in
>> m_magicVersion
;
110 //Q_ASSERT(m_magicVersion == 0xA0B0C0D0);
112 in
>> m_protocolVersion
;
113 //Q_ASSERT(m_protocolVersion == 0x1);
116 in
>> m_numOfRecords
;
118 // qDebug() adds an extra space between items,
119 // plus a new line in the last one.
120 qDebug() << "Magic version =" << hex
<< m_magicVersion
;
121 qDebug() << "Protocol version =" << m_protocolVersion
;
122 qDebug() << "Duration in msec = " << m_duration
;
123 qDebug() << "Number of records =" << m_numOfRecords
;