void Engine::datagramReceived(QByteArray datagram, QString senderId) { QScopedPointer<Message> pMessage; try { pMessage.reset(Message::createFromUtf8(datagram, senderId)); } catch (ParseEx &e) { // Ignore unparsable datagrams. qDebug() << "Chat::Engine: Unable to parse received datagram:\n" << e.what(); return; } if (cMessageTypesToLog.contains(pMessage->type)) { qDebug() << " " << pMessage->toUtf8() << "<===" << qUtf8Printable(senderId); } pMessage->handleBy(messageHandler.data()); }