void QNmeaSimulatedReader::simulatePendingUpdate() { if (m_pendingUpdates.size() > 0) { // will be dequeued in processNextSentence() QPendingGeoPositionInfo &pending = m_pendingUpdates.head(); m_proxy->notifyNewUpdate(&pending.info, pending.hasFix); } processNextSentence(); }
void QNmeaSimulatedReader::simulatePendingUpdate() { if (m_pendingUpdates.size() > 0) { // will be dequeued in processNextSentence() QPendingGeoPositionInfo &pending = m_pendingUpdates.head(); if (pending.info.coordinate().type() != QGeoCoordinate::InvalidCoordinate) m_proxy->notifyNewUpdate(&pending.info, pending.hasFix); } processNextSentence(); }
void QNmeaSimulatedReader::readAvailableData() { if (m_currTimerId > 0) // we are already reading return; if (!m_hasValidDateTime) { // first update Q_ASSERT(m_proxy->m_device && (m_proxy->m_device->openMode() & QIODevice::ReadOnly)); if (!setFirstDateTime()) { //m_proxy->notifyReachedEndOfFile(); qWarning("QNmeaPositionInfoSource: cannot find NMEA sentence with valid date & time"); return; } m_hasValidDateTime = true; simulatePendingUpdate(); } else { // previously read to EOF, but now new data has arrived processNextSentence(); } }