00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef KNEWSTUFF_ENGINE_H
00021
#define KNEWSTUFF_ENGINE_H
00022
00023
#include <qmap.h>
00024
#include <qobject.h>
00025
#include <qstring.h>
00026
00027
#include "entry.h"
00028
#include "provider.h"
00029
00030
namespace KIO {
class Job; }
00031
00032
class KNewStuff;
00033
00034
namespace KNS {
00035
00036
class DownloadDialog;
00037
class UploadDialog;
00038
class ProviderDialog;
00039
00051 class Engine :
public QObject
00052 {
00053 Q_OBJECT
00054
public:
00062
Engine(
KNewStuff *newStuff,
const QString &
type,
QWidget *
parentWidget = 0 );
00063
00067
virtual ~Engine();
00068
00074 QString type()
const {
return mType; }
00075
00081 QWidget *
parentWidget()
const {
return mParentWidget; }
00082
00087
void download();
00088
00096
void upload(
const QString &fileName = QString::null,
const QString &previewName = QString::null );
00097
00103
void download(
Entry *entry );
00104
00111
void requestMetaInformation(
Provider *provider );
00112
00118
void upload(
Entry *entry );
00119
00120
protected slots:
00121
void getMetaInformation(
Provider::List *providers );
00122
void selectUploadProvider(
Provider::List *providers );
00123
00124
void slotNewStuffJobData( KIO::Job *job,
const QByteArray &data );
00125
void slotNewStuffJobResult( KIO::Job *job );
00126
00127
void slotDownloadJobResult( KIO::Job *job );
00128
00129
void slotUploadPayloadJobResult( KIO::Job *job );
00130
void slotUploadPreviewJobResult (KIO::Job *job );
00131
void slotUploadMetaJobResult( KIO::Job *job );
00132
00133
protected:
00134
bool createMetaFile(
Entry * );
00135
00136
private:
00137
QWidget *mParentWidget;
00138
00139
ProviderLoader *mProviderLoader;
00140
00141
QMap<KIO::Job *,QString> mNewStuffJobData;
00142
QMap<KIO::Job *,Provider *> mProviderJobs;
00143
00144
QPtrList<Entry> mNewStuffList;
00145
00146
DownloadDialog *mDownloadDialog;
00147
UploadDialog *mUploadDialog;
00148
ProviderDialog *mProviderDialog;
00149
00150
QString mDownloadDestination;
00151
00152
Provider *mUploadProvider;
00153
00154
QString mUploadMetaFile;
00155
QString mUploadFile;
00156
QString mPreviewFile;
00157
00158
KNewStuff *mNewStuff;
00159
00160
QString mType;
00161 };
00162
00163 }
00164
00165
#endif