29 #include <QtCore/QFile> 48 kError(6100) <<
"Job id mixup" << endl;
53 class KJavaDownloaderPrivate
57 KJavaDownloaderPrivate() : responseCode(0), isfirstdata(true) {}
58 ~KJavaDownloaderPrivate()
74 :
d(new KJavaDownloaderPrivate)
76 kDebug(6100) <<
"KJavaDownloader(" << ID <<
") = " << url;
80 d->url =
new KUrl( url );
83 d->job->addMetaData(
"PropagateHttpHeader",
"true");
86 connect( d->job, SIGNAL(connected(
KIO::Job*)),
90 connect( d->job, SIGNAL(result(
KJob*)),
104 if (d->isfirstdata) {
105 QString headers = d->job->queryMetaData(
"HTTP-Headers");
106 if (!headers.isEmpty()) {
107 d->file.resize( headers.length() );
108 memcpy( d->file.data(), headers.toLatin1().constData(), headers.length() );
112 d->isfirstdata =
false;
121 kDebug(6100) <<
"slave connected";
122 d->responseCode = d->job->error();
126 kDebug(6100) <<
"slave mimetype " << type;
131 kDebug(6100) <<
"slotResult(" << d->loaderID <<
")";
136 kDebug(6100) <<
"slave had an error = " << d->job->errorString();
137 int code = d->job->error();
140 QString codestr = QString::number(code);
141 d->file.resize(codestr.length());
142 memcpy( d->file.data(), codestr.toLatin1().constData(), codestr.length() );
143 kDebug(6100) <<
"slave had an error = " << code;
162 kDebug(6100) <<
"jobCommand(" << d->loaderID <<
") stop";
171 kDebug(6100) <<
"jobCommand(" << d->loaderID <<
") hold";
175 kDebug(6100) <<
"jobCommand(" << d->loaderID <<
") resume";
183 class KJavaUploaderPrivate
186 KJavaUploaderPrivate() {}
187 ~KJavaUploaderPrivate()
190 if (job) job->kill();
200 :
d(new KJavaUploaderPrivate)
202 kDebug(6100) <<
"KJavaUploader(" << ID <<
") = " << url;
206 d->url =
new KUrl( url );
213 kDebug(6100) <<
"KJavaUploader::start(" << d->loaderID <<
")";
218 connect( d->job, SIGNAL(dataReq(
KIO::Job*,QByteArray&)),
220 connect( d->job, SIGNAL(result(
KJob*)),
234 kDebug(6100) <<
"slotDataRequest(" << d->loaderID <<
") finished:" << d->finished;
235 qb.resize( d->file.size() );
237 if (d->file.size() == 0) {
241 memcpy( qb.data(), d->file.data(), d->file.size() );
253 kDebug(6100) <<
"KJavaUploader::data(" << d->loaderID <<
")";
254 d->file.resize( qb.size() );
255 memcpy( d->file.data(), qb.data(), qb.size() );
261 kDebug(6100) <<
"slotResult(" << d->loaderID <<
") job:" << d->job;
268 int code = d->job->error();
269 QString codestr = QString::number(code);
270 d->file.resize(codestr.length());
271 memcpy( d->file.data(), codestr.toLatin1().constData(), codestr.length() );
272 kDebug(6100) <<
"slave had an error " << code <<
": " << d->job->errorString();
278 kError(6100) <<
"slotResult(" << d->loaderID <<
") job:" << d->job << endl;
289 kDebug(6100) <<
"jobCommand(" << d->loaderID <<
") stop";
291 if (d->job->isSuspended())
298 #include "kjavadownloader.moc" KJavaUploader(int ID, const QString &url)
TransferJob * put(const KUrl &url, int permissions, JobFlags flags=DefaultFlags)
static const int REQUESTDATA
void slotMimetype(KIO::Job *, const QString &)
static const int KJAS_HOLD
MimetypeJob * mimetype(const KUrl &url, JobFlags flags=DefaultFlags)
static const int MIMETYPE
void removeDataJob(int loaderID)
Removes KJavaDownloader from the list (deletes it too).
TransferJob * get(const KUrl &url, LoadType reload=NoReload, JobFlags flags=DefaultFlags)
static QDebug kError(bool cond, int area=KDE_DEFAULT_DEBUG_AREA)
KJavaDownloader(int ID, const QString &url)
static const int ERRORCODE
static QDebug kDebug(bool cond, int area=KDE_DEFAULT_DEBUG_AREA)
virtual void data(const QByteArray &qb)
static const int KJAS_STOP
static const int KJAS_RESUME
void slotDataRequest(KIO::Job *, QByteArray &)
void slotConnected(KIO::Job *)
virtual void data(const QByteArray &qb)
void sendURLData(int loaderID, int code, const QByteArray &data)
Send data we got back from a KJavaDownloader back to the appropriate class loader.
virtual void jobCommand(int cmd)
void slotData(KIO::Job *, const QByteArray &)
static const int FINISHED
virtual void jobCommand(int cmd)
static const int CONNECTED
static void freeJavaServer()
When you are done using your reference to the AppletServer, you must dereference it by calling freeJa...
static const int REDIRECT
static KJavaAppletServer * allocateJavaServer()
A factory method that returns the default server.