Esempio n. 1
0
void KJavaDownloader::slotResult( KJob* )
{
    kDebug(6100) << "slotResult(" << d->loaderID << ")";

    KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
    if( d->job->error())
    {
        kDebug(6100) << "slave had an error = " << d->job->errorString();
        int code = d->job->error();
        if (!code)
            code = 404;
        QString codestr = QString::number(code);
        d->file.resize(codestr.length());
        memcpy( d->file.data(), codestr.toAscii().constData(), codestr.length() );
        kDebug(6100) << "slave had an error = " << code;

        server->sendURLData( d->loaderID, ERRORCODE, d->file );
        d->file.resize( 0 );
    }
    else
    {
        server->sendURLData( d->loaderID, FINISHED, d->file );
    }
    d->job = 0L; // signal KIO::Job::result deletes itself
    server->removeDataJob( d->loaderID ); // will delete this
    KJavaAppletServer::freeJavaServer();
}
Esempio n. 2
0
void KJavaUploader::slotDataRequest( KIO::Job*, QByteArray& qb )
{
    // send our data and suspend
    kDebug(6100) << "slotDataRequest(" << d->loaderID << ") finished:" << d->finished;
    qb.resize( d->file.size() );
    KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
    if (d->file.size() == 0) {
        d->job = 0L; // eof, job deletes itself
        server->removeDataJob( d->loaderID ); // will delete this
    } else {
        memcpy( qb.data(), d->file.data(), d->file.size() );
        d->file.resize( 0 );
	if (!d->finished) {
            server->sendURLData( d->loaderID, REQUESTDATA, d->file );
            d->job->suspend();
        }
    }
    KJavaAppletServer::freeJavaServer();
}
Esempio n. 3
0
void KJavaDownloader::jobCommand( int cmd )
{
    if (!d->job) return;
    switch (cmd) {
        case KJAS_STOP: {
            kDebug(6100) << "jobCommand(" << d->loaderID << ") stop";
            d->job->kill();
            d->job = 0L; // KIO::Job::kill deletes itself
            KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
            server->removeDataJob( d->loaderID ); // will delete this
            KJavaAppletServer::freeJavaServer();
            break;
        }
        case KJAS_HOLD:
            kDebug(6100) << "jobCommand(" << d->loaderID << ") hold";
            d->job->suspend();
            break;
        case KJAS_RESUME:
            kDebug(6100) << "jobCommand(" << d->loaderID << ") resume";
            d->job->resume();
            break;
    }
}
Esempio n. 4
0
void KJavaUploader::slotResult( KJob* )
{
    kDebug(6100) << "slotResult(" << d->loaderID << ") job:" << d->job;

    if (!d->job)
        return;
    KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
    if (d->job->error())
    {
        int code = d->job->error();
        QString codestr = QString::number(code);
        d->file.resize(codestr.length());
        memcpy( d->file.data(), codestr.toAscii().constData(), codestr.length() );
        kDebug(6100) << "slave had an error " << code <<  ": " << d->job->errorString();

        server->sendURLData( d->loaderID, ERRORCODE, d->file );
        d->file.resize( 0 );
    }
    else // shouldn't come here
        kError(6100) << "slotResult(" << d->loaderID << ") job:" << d->job << endl;
    d->job = 0L; // signal KIO::Job::result deletes itself
    server->removeDataJob( d->loaderID ); // will delete this
    KJavaAppletServer::freeJavaServer();
}