int PackageDialog::insertFile(const QString& FileName, QFile& File, QDataStream& Stream) { QByteArray FileContent; if(!File.open(QIODevice::ReadOnly)) { QMessageBox::critical(this, tr("Error"), tr("Cannot open \"%1\"!").arg(FileName)); return -1; } Q_ULONG Count = File.size(); char *p = (char*)malloc(Count+FileName.length()+2); strcpy(p, FileName.latin1()); File.readBlock(p+FileName.length()+1, Count); File.close(); Count += FileName.length()+1; FileContent = qCompress((unsigned char*)p, Count); free(p); Stream.writeBytes(FileContent.data(), FileContent.size()); return 0; }
void KMessageSocket::send (const QByteArray &msg) { QDataStream str (mSocket); str << quint8 ('M'); // magic number for begin of message str.writeBytes (msg.data(), msg.size()); // writes the length (as quint32) and the data }