Exemple #1
0
void ProtocolMSITS::get( const QUrl& url )
{
	QString htmdata, fileName;
	chmUnitInfo ui;
	QByteArray buf;

    qCDebug(KIO_MITS_LOG) << "kio_msits::get() " << url.path();

	if ( !parseLoadAndLookup ( url, fileName ) )
		return;	// error() has been called by parseLoadAndLookup

	qCDebug(KIO_MITS_LOG) << "kio_msits::get: parseLoadAndLookup returned " << fileName;

	if ( LCHMUrlFactory::handleFileType( url.path(), htmdata ) )
	{
		buf = htmdata.toUtf8();
		qCDebug(KIO_MITS_LOG) << "Using special handling for image pages: " << htmdata;
	}
	else
	{
		if ( isDirectory (fileName) )
		{
                        error( KIO::ERR_IS_DIRECTORY, url.toString() );
			return;
		}

		if ( !ResolveObject ( fileName, &ui) )
		{
			qCDebug(KIO_MITS_LOG) << "kio_msits::get: could not resolve filename " << fileName;
                error( KIO::ERR_DOES_NOT_EXIST, url.toString() );
			return;
		}

    	buf.resize( ui.length );

		if ( RetrieveObject (&ui, (unsigned char*) buf.data(), 0, ui.length) == 0 )
		{
			qCDebug(KIO_MITS_LOG) << "kio_msits::get: could not retrieve filename " << fileName;
                error( KIO::ERR_NO_CONTENT, url.toString() );
			return;
		}
	}

    totalSize( buf.size() );
#if 0 //PORT QT5
    QMimeDatabase db;
    QMimeType result = db.mimeTypeForNameAndData( fileName, buf );
    qCDebug(KIO_MITS_LOG) << "Emitting mimetype " << result.name();

        mimeType( result.name() );
#endif
    data( buf );
	processedSize( buf.size() );

    finished();
}