KNewStuff
engine.h
Go to the documentation of this file.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 KDE_EXPORT Engine : public QObject
00052 {
00053 Q_OBJECT
00054 struct Private;
00055 public:
00063 Engine( KNewStuff *newStuff, const QString &type, QWidget *parentWidget = 0 );
00072 Engine( KNewStuff *newStuff, const QString &type, const QString &providerList, QWidget *parentWidget = 0 );
00073
00077 virtual ~Engine();
00078
00084 QString type() const { return mType; }
00085
00091 QWidget *parentWidget() const { return mParentWidget; }
00092
00097 void download();
00098
00106 void upload( const QString &fileName = QString::null, const QString &previewName = QString::null );
00107
00113 void download( Entry *entry );
00114
00121 void requestMetaInformation( Provider *provider );
00122
00128 void upload( Entry *entry );
00129
00135 void ignoreInstallResult(bool ignore);
00136
00137 signals:
00141 void uploadFinished( bool result );
00142 protected slots:
00143 void getMetaInformation( Provider::List *providers );
00144 void selectUploadProvider( Provider::List *providers );
00145
00146 void slotNewStuffJobData( KIO::Job *job, const QByteArray &data );
00147 void slotNewStuffJobResult( KIO::Job *job );
00148
00149 void slotDownloadJobResult( KIO::Job *job );
00150
00151 void slotUploadPayloadJobResult( KIO::Job *job );
00152 void slotUploadPreviewJobResult (KIO::Job *job );
00153 void slotUploadMetaJobResult( KIO::Job *job );
00154
00155 protected:
00156 bool createMetaFile( Entry * );
00157
00158 private:
00159 QWidget *mParentWidget;
00160
00161 ProviderLoader *mProviderLoader;
00162
00163 QMap<KIO::Job *,QString> mNewStuffJobData;
00164 QMap<KIO::Job *,Provider *> mProviderJobs;
00165
00166 QPtrList<Entry> mNewStuffList;
00167
00168 DownloadDialog *mDownloadDialog;
00169 UploadDialog *mUploadDialog;
00170 ProviderDialog *mProviderDialog;
00171
00172 QString mDownloadDestination;
00173
00174 Provider *mUploadProvider;
00175
00176 QString mUploadMetaFile;
00177 QString mUploadFile;
00178 QString mPreviewFile;
00179 QString mProviderList;
00180
00181 Private* d;
00182
00183 QString mType;
00184 };
00185
00186 }
00187
00188 #endif