summaryrefslogtreecommitdiffstats
path: root/khtml/java/kjavadownloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'khtml/java/kjavadownloader.cpp')
-rw-r--r--khtml/java/kjavadownloader.cpp298
1 files changed, 0 insertions, 298 deletions
diff --git a/khtml/java/kjavadownloader.cpp b/khtml/java/kjavadownloader.cpp
deleted file mode 100644
index a0a8abdd2..000000000
--- a/khtml/java/kjavadownloader.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2000 Richard Moore <rich@kde.org>
- * 2000 Wynn Wilkes <wynnw@caldera.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "kjavadownloader.h"
-#include "kjavaappletserver.h"
-
-#include <kurl.h>
-#include <kio/job.h>
-#include <kio/jobclasses.h>
-#include <kdebug.h>
-#include <tqfile.h>
-
-static const int DATA = 0;
-static const int FINISHED = 1;
-static const int ERRORCODE = 2;
-static const int HEADERS = 3;
-static const int REDIRECT = 4;
-static const int MIMETYPE = 5;
-static const int CONNECTED = 6;
-static const int REQUESTDATA = 7;
-
-static const int KJAS_STOP = 0;
-static const int KJAS_HOLD = 1;
-static const int KJAS_RESUME = 2;
-
-KJavaTDEIOJob::~KJavaTDEIOJob() {}
-
-void KJavaTDEIOJob::data( const TQByteArray& )
-{
- kdError(6100) << "Job id mixup" << endl;
-}
-
-//-----------------------------------------------------------------------------
-
-class KJavaDownloaderPrivate
-{
-friend class KJavaDownloader;
-public:
- KJavaDownloaderPrivate() : responseCode(0), isfirstdata(true) {}
- ~KJavaDownloaderPrivate()
- {
- delete url;
- if (job) job->kill(); // TDEIO::Job::kill deletes itself
- }
-private:
- int loaderID;
- KURL* url;
- TQByteArray file;
- TDEIO::TransferJob* job;
- int responseCode;
- bool isfirstdata;
-};
-
-
-KJavaDownloader::KJavaDownloader( int ID, const TQString& url )
-{
- kdDebug(6100) << "KJavaDownloader(" << ID << ") = " << url << endl;
-
- d = new KJavaDownloaderPrivate;
-
- d->loaderID = ID;
- d->url = new KURL( url );
-
- d->job = TDEIO::get( *d->url, false, false );
- d->job->addMetaData("PropagateHttpHeader", "true");
- connect( d->job, TQT_SIGNAL(data( TDEIO::Job*, const TQByteArray& )),
- this, TQT_SLOT(slotData( TDEIO::Job*, const TQByteArray& )) );
- connect( d->job, TQT_SIGNAL(connected(TDEIO::Job*)),
- this, TQT_SLOT(slotConnected(TDEIO::Job*)));
- connect( d->job, TQT_SIGNAL(mimetype(TDEIO::Job*, const TQString&)),
- this, TQT_SLOT(slotMimetype(TDEIO::Job*, const TQString&)));
- connect( d->job, TQT_SIGNAL(result(TDEIO::Job*)),
- this, TQT_SLOT(slotResult(TDEIO::Job*)) );
-}
-
-KJavaDownloader::~KJavaDownloader()
-{
- delete d;
-}
-
-void KJavaDownloader::slotData( TDEIO::Job*, const TQByteArray& qb )
-{
- //kdDebug(6100) << "slotData(" << d->loaderID << ")" << endl;
-
- KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
- if (d->isfirstdata) {
- TQString headers = d->job->queryMetaData("HTTP-Headers");
- if (!headers.isEmpty()) {
- d->file.resize( headers.length() );
- memcpy( d->file.data(), headers.ascii(), headers.length() );
- server->sendURLData( d->loaderID, HEADERS, d->file );
- d->file.resize( 0 );
- }
- d->isfirstdata = false;
- }
- if ( qb.size() )
- server->sendURLData( d->loaderID, DATA, qb );
- KJavaAppletServer::freeJavaServer();
-}
-
-void KJavaDownloader::slotConnected(TDEIO::Job*)
-{
- kdDebug(6100) << "slave connected" << endl;
- d->responseCode = d->job->error();
-}
-
-void KJavaDownloader::slotMimetype(TDEIO::Job*, const TQString & type) {
- kdDebug(6100) << "slave mimetype " << type << endl;
-}
-
-void KJavaDownloader::slotResult( TDEIO::Job* )
-{
- kdDebug(6100) << "slotResult(" << d->loaderID << ")" << endl;
-
- KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
- if( d->job->error())
- {
- kdDebug(6100) << "slave had an error = " << d->job->errorString() << endl;
- int code = d->job->error();
- if (!code)
- code = 404;
- TQString codestr = TQString::number(code);
- d->file.resize(codestr.length());
- memcpy( d->file.data(), codestr.ascii(), codestr.length() );
- kdDebug(6100) << "slave had an error = " << code << endl;
-
- server->sendURLData( d->loaderID, ERRORCODE, d->file );
- d->file.resize( 0 );
- }
- else
- {
- server->sendURLData( d->loaderID, FINISHED, d->file );
- }
- d->job = 0L; // signal TDEIO::Job::result deletes itself
- server->removeDataJob( d->loaderID ); // will delete this
- KJavaAppletServer::freeJavaServer();
-}
-
-void KJavaDownloader::jobCommand( int cmd )
-{
- if (!d->job) return;
- switch (cmd) {
- case KJAS_STOP: {
- kdDebug(6100) << "jobCommand(" << d->loaderID << ") stop" << endl;
- d->job->kill();
- d->job = 0L; // TDEIO::Job::kill deletes itself
- KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
- server->removeDataJob( d->loaderID ); // will delete this
- KJavaAppletServer::freeJavaServer();
- break;
- }
- case KJAS_HOLD:
- kdDebug(6100) << "jobCommand(" << d->loaderID << ") hold" << endl;
- d->job->suspend();
- break;
- case KJAS_RESUME:
- kdDebug(6100) << "jobCommand(" << d->loaderID << ") resume" << endl;
- d->job->resume();
- break;
- }
-}
-
-//-----------------------------------------------------------------------------
-
-class KJavaUploaderPrivate
-{
-public:
- KJavaUploaderPrivate() {}
- ~KJavaUploaderPrivate()
- {
- delete url;
- if (job) job->kill(); // TDEIO::Job::kill deletes itself
- }
- int loaderID;
- KURL* url;
- TQByteArray file;
- TDEIO::TransferJob* job;
- bool finished;
-};
-
-KJavaUploader::KJavaUploader( int ID, const TQString& url )
-{
- kdDebug(6100) << "KJavaUploader(" << ID << ") = " << url << endl;
-
- d = new KJavaUploaderPrivate;
-
- d->loaderID = ID;
- d->url = new KURL( url );
- d->job = 0L;
- d->finished = false;
-}
-
-void KJavaUploader::start()
-{
- kdDebug(6100) << "KJavaUploader::start(" << d->loaderID << ")" << endl;
- KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
- // create a suspended job
- d->job = TDEIO::put( *d->url, -1, false, false, false );
- d->job->suspend();
- connect( d->job, TQT_SIGNAL(dataReq( TDEIO::Job*, TQByteArray& )),
- this, TQT_SLOT(slotDataRequest( TDEIO::Job*, TQByteArray& )) );
- connect( d->job, TQT_SIGNAL(result(TDEIO::Job*)),
- this, TQT_SLOT(slotResult(TDEIO::Job*)) );
- server->sendURLData( d->loaderID, CONNECTED, d->file );
- KJavaAppletServer::freeJavaServer();
-}
-
-KJavaUploader::~KJavaUploader()
-{
- delete d;
-}
-
-void KJavaUploader::slotDataRequest( TDEIO::Job*, TQByteArray& qb )
-{
- // send our data and suspend
- kdDebug(6100) << "slotDataRequest(" << d->loaderID << ") finished:" << d->finished << endl;
- 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();
-}
-
-void KJavaUploader::data( const TQByteArray& qb )
-{
- kdDebug(6100) << "KJavaUploader::data(" << d->loaderID << ")" << endl;
- d->file.resize( qb.size() );
- memcpy( d->file.data(), qb.data(), qb.size() );
- d->job->resume();
-}
-
-void KJavaUploader::slotResult( TDEIO::Job* )
-{
- kdDebug(6100) << "slotResult(" << d->loaderID << ") job:" << d->job << endl;
-
- if (!d->job)
- return;
- KJavaAppletServer* server = KJavaAppletServer::allocateJavaServer();
- if (d->job->error())
- {
- int code = d->job->error();
- TQString codestr = TQString::number(code);
- d->file.resize(codestr.length());
- memcpy( d->file.data(), codestr.ascii(), codestr.length() );
- kdDebug(6100) << "slave had an error " << code << ": " << d->job->errorString() << endl;
-
- server->sendURLData( d->loaderID, ERRORCODE, d->file );
- d->file.resize( 0 );
- }
- else // shouldn't come here
- kdError(6100) << "slotResult(" << d->loaderID << ") job:" << d->job << endl;
- d->job = 0L; // signal TDEIO::Job::result deletes itself
- server->removeDataJob( d->loaderID ); // will delete this
- KJavaAppletServer::freeJavaServer();
-}
-
-void KJavaUploader::jobCommand( int cmd )
-{
- if (!d->job) return;
- switch (cmd) {
- case KJAS_STOP: {
- kdDebug(6100) << "jobCommand(" << d->loaderID << ") stop" << endl;
- d->finished = true;
- if (d->job->isSuspended())
- d->job->resume();
- break;
- }
- }
-}
-
-#include "kjavadownloader.moc"