コード例 #1
0
ファイル: Class.cpp プロジェクト: ErickCastellanos/douml
void Class::backup(QDataStream  & dt) const
{
    switch (stereotype) {
    case 'i':
        dt << ((Q_INT8)((abstractp) ? 'i' : 'I'));
        break;

    case 'e':
        dt << ((Q_INT8) 'E');
        break;

    default:
        // class
        dt << ((Q_INT8)((abstractp) ? 'c' : 'C'));
        break;
    }

    Q_INT32 len;

    len = text(0).length();
    dt << len;
    dt.writeRawBytes(text(0), len);

    len = filename.length();
    dt << len;
    dt.writeRawBytes(filename, len);

    len = description.length();
    dt << len;

    if (!description.isEmpty())
        dt.writeRawBytes(description, len);
}
コード例 #2
0
void ElogThread::addAttachment( QDataStream& stream,
                                const QString& boundary,
                                const QByteArray& byteArray,
                                int iFileNumber,
                                const QString& name ) {
  if (byteArray.count() > 0) {
    QString strStart = QString("Content-Disposition: form-data; name=\"attfile%1\"; filename=\"%2\"\r\n\r\n").arg(iFileNumber).arg(name);
    QString strEnd   = QString("%1\r\n").arg(boundary);

    stream.writeRawBytes(strStart.ascii(), strStart.length());
    stream.writeRawBytes(byteArray.data(), byteArray.count());
    stream.writeRawBytes(strEnd.ascii(), strEnd.length());
  }
}
コード例 #3
0
ファイル: Package.cpp プロジェクト: jeremysalwen/douml
void Package::backup(QDataStream  & dt) const
{
    dt << ((Q_INT8) '{');

    Q_INT32 len;

    len = text(0).length();
    dt << len;
    dt.writeRawBytes(text(0), len);

    len = path.length();
    dt << len;
    dt.writeRawBytes(path, len);

    backup_children(dt);
}
コード例 #4
0
void ElogThread::addAttribute( QDataStream& stream,
                               const QString& boundary,
                               const QString& tag,
                               const QString& strValue,
                               bool bEncode ) {
  if (!strValue.isEmpty()) {
    QString str;

    if( bEncode ) {
      QCString enc = KCodecs::base64Encode(strValue.latin1());

      str = QString("%1\r\nContent-Disposition: form-data; name=\"%2\"\r\n\r\n%3\r\n").arg(boundary).arg(tag).arg(enc.data());
    } else {
      str = QString("%1\r\nContent-Disposition: form-data; name=\"%2\"\r\n\r\n%3\r\n").arg(boundary).arg(tag).arg(strValue);
    }
    stream.writeRawBytes(str.ascii(), str.length());
  }
}
コード例 #5
0
	void HttpServer::handleTorrentPost(HttpClientHandler* hdlr,const QHttpRequestHeader & hdr,const QByteArray & data)
	{
		const char* ptr = data.data();
		Uint32 len = data.size();
		int pos = QString(data).find("\r\n\r\n");

		if (!session.logged_in || !checkSession(hdr))
		{
			// You can't post torrents if you are not logged in
			// or the session is not OK
			redirectToLoginPage(hdlr);
			return;
		}
		
		if (pos == -1 || pos + 4 >= len || ptr[pos + 4] != 'd')
		{
			HttpResponseHeader rhdr(500);
			setDefaultResponseHeaders(rhdr,"text/html",false);
			hdlr->send500(rhdr);
			return;
		}
		
		// save torrent to a temporary file
		KTempFile tmp_file(locateLocal("tmp", "ktwebgui-"), ".torrent");
		QDataStream* out = tmp_file.dataStream();
		if (!out)
		{
			HttpResponseHeader rhdr(500);
			setDefaultResponseHeaders(rhdr,"text/html",false);
			hdlr->send500(rhdr);
			return;
		}
		
		out->writeRawBytes(ptr + (pos + 4),len - (pos + 4));
		tmp_file.sync();
		tmp_file.setAutoDelete(true);
		
		Out(SYS_WEB|LOG_NOTICE) << "Loading file " << tmp_file.name() << endl;
		core->loadSilently(KURL::fromPathOrURL(tmp_file.name()));
		
		handleGet(hdlr,hdr);
	}
コード例 #6
0
ファイル: ktnefwriter.cpp プロジェクト: serghei/kde3-kdepim
void writeCString(QDataStream &stream, QCString &str)
{
    stream.writeRawBytes(str.data(), str.length());
    stream << (Q_UINT8)0;
}
コード例 #7
0
ファイル: ui2uib.cpp プロジェクト: aroraujjwal/qt3
static void packByteArray( QDataStream& out, const QByteArray& array )
{
    packUInt32( out, array.size() );
    out.writeRawBytes( array.data(), array.size() );
}