void MainWindow::channelMessage(IrcTextBrowser *browser, const QString &channel, const QString &message) { if (channel[0]!=QChar('#')) { rawMessage(message); return; } QString msg(message); if (msg[0]==QChar('/')) { if (msg.left(3).compare(QString("/me"), Qt::CaseInsensitive)==0) { msg.remove(0, 3); while (msg[0]==QChar(' ')) msg.remove(0, 1); irc->sendMe(channel, msg); browser->append(QString("%1 %2").arg(currentnick).arg(msg)); return; } rawMessage(msg); return; } irc->sendMessage(channel, msg); //browser->appendMessage(currentnick, smilebar->parseSmiles(msg)); smilebar->printParsedMessage(browser->textbrowser(), currentnick, msg); }
//////////////////////////////////////////////private slots//////////////////////////////////////////////////////////// void MainWindow::sendPressed() { if (!irc) return; if (!irc->isConnected()) return; QString fullmessage = ui->plainTextEditMessage->toPlainText(); if (fullmessage.isEmpty()) return; playSound(SND_SENDMSG); ui->plainTextEditMessage->storeLastMessage(); ui->plainTextEditMessage->clear(); QStringList messages = fullmessage.split("\n", QString::SkipEmptyParts); QWidget *wgt = ui->tabWidget->currentWidget(); if (!wgt) { for (int i=0; i<messages.size(); i++) rawMessage(messages.at(i)); return; } IrcTextBrowser * browser= static_cast<IrcTextBrowser *>(wgt); const QString ch = ui->tabWidget->tabText(ui->tabWidget->currentIndex()); for (int i=0; i<messages.size(); i++) channelMessage(browser, ch, messages.at(i)); }
virtual void SendMessage(const Message& msg) override { VectorStream inStream; msg.Serialize(inStream); // deserialize again RawMessage rawMessage(msg.MessageId(), inStream.Data()); // send bool bRet = m_fnSendMessage(rawMessage); if (!bRet) throw std::runtime_error("TestSession: packet wasn't handled"); // must handle all packets }
bool BlkSocket::writeMessage(BlkMessage& msg, int& status) { std::string rawMessage(""); msg.toRawString(rawMessage); // rawMessage += msg.firstLine; // rawMessage += "\n"; // rawMessage += std::to_string(msg.destination_port); // rawMessage += "\n"; // rawMessage += msg.request_verb; // rawMessage += "\n"; // rawMessage += std::to_string(msg.messageLength); // rawMessage += "\n"; // rawMessage += msg.body; const char* buffer = rawMessage.c_str(); int buffer_length = (int)strlen(buffer); int sockStatus; bool good = socket_write_data(socket, (void*)buffer, buffer_length, &sockStatus); if( ! good ){ LOG(ERROR) << " UNHANDLED ERROR ******* "<< std::endl; } return true; }
void NfcPeerToPeer::readText(QLlcpSocket* socket, const bool isServerSocket) { if (!socket) return; bool hasDatagramWaiting = socket->hasPendingDatagrams(); if (hasDatagramWaiting) { // Connection-less qint64 datagramSize = socket->pendingDatagramSize(); char* rawData = new char[datagramSize]; socket->readDatagram ( rawData, datagramSize ); // Check if data is NDEF formatted QNdefMessage containedNdef = QNdefMessage::fromByteArray(rawData); if (containedNdef.count() > 0) { // NDEF message found qDebug() << "Raw NDEF message received (" << containedNdef.count() << " records)"; emit ndefMessage(containedNdef); } else { // No NDEF message found - output raw data QString data = QString::fromUtf8(rawData, datagramSize); QString dataLength; dataLength.setNum(datagramSize); QString message = (isServerSocket ? "Server" : "Client"); message.append(" (" + dataLength + "): " + data); emit rawMessage(message); } delete rawData; } else { // Connection-oriented // Parse SNEP qDebug() << "Received peer-to-peer data"; QByteArray rawData = socket->readAll(); if (m_appSettings->useSnep()) { QString snepAnalysis; QNdefMessage containedNdef = m_snepManager->analyzeSnepMessage(rawData, snepAnalysis); emit rawMessage(snepAnalysis); if (containedNdef.count() > 0) { // NDEF message qDebug() << "SNEP NDEF message received (" << containedNdef.count() << " records)"; emit ndefMessage(containedNdef); // Send back success response emit sendData(m_snepManager->createSnepSuccessResponse()); } else { qDebug() << "No / empty NDEF message contained"; } } else { // Check if data is NDEF formatted QNdefMessage containedNdef = QNdefMessage::fromByteArray(rawData); // TODO: Debug QString arrayContents = ""; for (int i = 0; i < rawData.size(); ++i) { arrayContents.append(QString("0x") + QString::number(rawData.at(i), 16) + " "); } qDebug() << "Raw contents of message:\n" << arrayContents; if (containedNdef.count() > 0) { // NDEF message found qDebug() << "Raw NDEF message received (" << containedNdef.count() << " records)"; emit ndefMessage(containedNdef); } else { // No NDEF message found - output raw data QString data = QString::fromUtf8(rawData.constData(), rawData.size()); QString message = (isServerSocket ? "Server" : "Client"); message.append(": " + data); emit rawMessage(message); } } } }
void IrcEventRawMessage::toVariantMap(QVariantMap& map) const { IrcEvent::toVariantMap(map); map["rawMessage"] = rawMessage(); }