void Servatrice::updateLoginMessage() { if (!servatriceDatabaseInterface->checkSql()) return; QSqlQuery query(servatriceDatabaseInterface->getDatabase()); query.prepare("select message from " + dbPrefix + "_servermessages where id_server = :id_server order by timest desc limit 1"); query.bindValue(":id_server", serverId); if (servatriceDatabaseInterface->execSqlQuery(query)) if (query.next()) { const QString newLoginMessage = query.value(0).toString(); loginMessageMutex.lock(); loginMessage = newLoginMessage; loginMessageMutex.unlock(); Event_ServerMessage event; event.set_message(newLoginMessage.toStdString()); SessionEvent *se = Server_ProtocolHandler::prepareSessionEvent(event); QMapIterator<QString, Server_ProtocolHandler *> usersIterator(users); while (usersIterator.hasNext()) usersIterator.next().value()->sendProtocolItem(*se); delete se; } }
void Servatrice::updateLoginMessage() { QMutexLocker locker(&dbMutex); checkSql(); QSqlQuery query; query.prepare("select message from " + dbPrefix + "_servermessages where id_server = :id_server order by timest desc limit 1"); query.bindValue(":id_server", serverId); if (execSqlQuery(query)) if (query.next()) { loginMessage = query.value(0).toString(); Event_ServerMessage *event = new Event_ServerMessage(loginMessage); QMapIterator<QString, Server_ProtocolHandler *> usersIterator(users); while (usersIterator.hasNext()) { usersIterator.next().value()->sendProtocolItem(event, false); } delete event; } }