kjavadownloader.h

00001 /* This file is part of the KDE project
00002  *
00003  * Copyright (C) 2000 Wynn Wilkes <wynnw@caldera.com>
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Library General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Library General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Library General Public License
00016  * along with this library; see the file COPYING.LIB.  If not, write to
00017  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  * Boston, MA 02110-1301, USA.
00019  */
00020 
00021 
00022 #ifndef KJAVADOWNLOADER_H
00023 #define KJAVADOWNLOADER_H
00024 
00025 #include <qobject.h>
00026 
00036 namespace KIO {
00037     class Job;
00038 }
00039 
00040 class KJavaDownloaderPrivate;
00041 class KJavaUploaderPrivate;
00042 
00043 class KJavaKIOJob : public QObject
00044 {
00045 Q_OBJECT
00046 public:
00047     virtual ~KJavaKIOJob();
00048     virtual void jobCommand( int cmd ) = 0;
00049     virtual void data( const QByteArray& qb );
00050 };
00051 
00052 class KJavaDownloader : public KJavaKIOJob
00053 {
00054 Q_OBJECT
00055 
00056 public:
00057     KJavaDownloader( int ID, const QString& url );
00058     ~KJavaDownloader();
00059 
00060     virtual void jobCommand( int cmd );
00061 protected slots:
00062     void slotData( KIO::Job*, const QByteArray& );
00063     void slotConnected( KIO::Job* );
00064     void slotMimetype( KIO::Job*, const QString& );
00065     void slotResult( KIO::Job* );
00066 
00067 private:
00068     KJavaDownloaderPrivate* d;
00069 
00070 };
00071 
00072 class KJavaUploader : public KJavaKIOJob
00073 {
00074 Q_OBJECT
00075 
00076 public:
00077     KJavaUploader( int ID, const QString& url );
00078     ~KJavaUploader();
00079 
00080     virtual void jobCommand( int cmd );
00081     virtual void data( const QByteArray& qb );
00082     void start();
00083 protected slots:
00084     void slotDataRequest( KIO::Job*, QByteArray& );
00085     void slotResult( KIO::Job* );
00086 private:
00087     KJavaUploaderPrivate* d;
00088 
00089 };
00090 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys