Beispiel #1
0
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);
}
Beispiel #2
0
void TownsEuphonyDriver::timerCallback(int timerId) {
	switch (timerId) {
	case 0:
		updatePulseCount();
		while (_pulseCount > 0) {
			--_pulseCount;
			updateTimeStampBase();
			if (!_playing)
				continue;
			updateEventBuffer();
			updateParser();
			updateCheckEot();
		}
		break;
	default:
		break;
	}
}
Beispiel #3
0
void EuphonyPlayer::timerCallback(int timerId) {
	switch (timerId) {
	case 0:
		updatePulseCounters();
		while (_playerUpdatesLeft) {
			--_playerUpdatesLeft;
			updateBeat();
			if (!_playing)
				continue;
			updateHangingNotes();
			updateParser();
			updateCheckEot();
		}
		break;
	default:
		break;
	}
}
Beispiel #4
0
void ParserManager::loginFinished(bool success) {
    if(success && !parsersToUpdate.isEmpty()) {
        qDebug() << Q_FUNC_INFO << "Logged in, emptying queue ";
        updateParser(parsersToUpdate.takeFirst());
    }
}