tdenewstuff
engine.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KNEWSTUFF_ENGINE_H
00022 #define KNEWSTUFF_ENGINE_H
00023
00024 #include <tqmap.h>
00025 #include <tqobject.h>
00026 #include <tqstring.h>
00027
00028 #include "entry.h"
00029 #include "provider.h"
00030
00031 namespace TDEIO { class Job; }
00032
00033 class TDENewStuff;
00034
00035 namespace KNS {
00036
00037 class DownloadDialog;
00038 class UploadDialog;
00039 class ProviderDialog;
00040
00052 class KDE_EXPORT Engine : public TQObject
00053 {
00054 Q_OBJECT
00055 struct Private;
00056 public:
00064 Engine( TDENewStuff *newStuff, const TQString &type, TQWidget *parentWidget = 0 );
00073 Engine( TDENewStuff *newStuff, const TQString &type, const TQString &providerList, TQWidget *parentWidget = 0 );
00074
00078 virtual ~Engine();
00079
00085 TQString type() const { return mType; }
00086
00092 TQWidget *parentWidget() const { return mParentWidget; }
00093
00098 void download();
00099
00107 void upload( const TQString &fileName = TQString::null, const TQString &previewName = TQString::null );
00108
00114 void download( Entry *entry );
00115
00122 void requestMetaInformation( Provider *provider );
00123
00129 void upload( Entry *entry );
00130
00136 void ignoreInstallResult(bool ignore);
00137
00138 signals:
00142 void uploadFinished( bool result );
00143 protected slots:
00144 void getMetaInformation( Provider::List *providers );
00145 void selectUploadProvider( Provider::List *providers );
00146
00147 void slotNewStuffJobData( TDEIO::Job *job, const TQByteArray &data );
00148 void slotNewStuffJobResult( TDEIO::Job *job );
00149
00150 void slotDownloadJobResult( TDEIO::Job *job );
00151
00152 void slotUploadPayloadJobResult( TDEIO::Job *job );
00153 void slotUploadPreviewJobResult (TDEIO::Job *job );
00154 void slotUploadMetaJobResult( TDEIO::Job *job );
00155
00156 protected:
00157 bool createMetaFile( Entry * );
00158
00159 private:
00160 TQWidget *mParentWidget;
00161
00162 ProviderLoader *mProviderLoader;
00163
00164 TQMap<TDEIO::Job *,TQString> mNewStuffJobData;
00165 TQMap<TDEIO::Job *,Provider *> mProviderJobs;
00166
00167 TQPtrList<Entry> mNewStuffList;
00168
00169 DownloadDialog *mDownloadDialog;
00170 UploadDialog *mUploadDialog;
00171 ProviderDialog *mProviderDialog;
00172
00173 TQString mDownloadDestination;
00174
00175 Provider *mUploadProvider;
00176
00177 TQString mUploadMetaFile;
00178 TQString mUploadFile;
00179 TQString mPreviewFile;
00180 TQString mProviderList;
00181
00182 Private* d;
00183
00184 TQString mType;
00185 };
00186
00187 }
00188
00189 #endif