void ParserManager::storeOrUpdateParser(ForumParser* parser) { // Clear parser queue one at a time if(!parsersToUpdate.isEmpty() && protocol->isLoggedIn()) { updateParser(parsersToUpdate.takeFirst()); } if(!parser) return; ForumParser *newParser = parserDatabase->value(parser->id); if(!newParser) newParser = new ForumParser(parserDatabase); (*newParser) = (*parser); Q_ASSERT(newParser != parser); Q_ASSERT(newParser->id == parser->id); parserDatabase->insert(newParser->id, newParser); emit parserUpdated(newParser); }
void TownsEuphonyDriver::timerCallback(int timerId) { switch (timerId) { case 0: updatePulseCount(); while (_pulseCount > 0) { --_pulseCount; updateTimeStampBase(); if (!_playing) continue; updateEventBuffer(); updateParser(); updateCheckEot(); } break; default: break; } }
void EuphonyPlayer::timerCallback(int timerId) { switch (timerId) { case 0: updatePulseCounters(); while (_playerUpdatesLeft) { --_playerUpdatesLeft; updateBeat(); if (!_playing) continue; updateHangingNotes(); updateParser(); updateCheckEot(); } break; default: break; } }
void ParserManager::loginFinished(bool success) { if(success && !parsersToUpdate.isEmpty()) { qDebug() << Q_FUNC_INFO << "Logged in, emptying queue "; updateParser(parsersToUpdate.takeFirst()); } }