certmanager/lib
chiasmusjob.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef __KLEO_CHIASMUSJOB_H__
00035 #define __KLEO_CHIASMUSJOB_H__
00036
00037 #include "kleo/specialjob.h"
00038
00039 #include <qstringlist.h>
00040
00041 #include <gpgmepp/context.h>
00042
00043 class KProcess;
00044
00045 namespace Kleo {
00046
00047 class SymCryptRunProcessBase;
00048
00052 class ChiasmusJob : public Kleo::SpecialJob {
00053 Q_OBJECT
00054 Q_ENUMS( Mode )
00055 Q_PROPERTY( Mode mode READ mode )
00056 Q_PROPERTY( QString key READ key WRITE setKey )
00057 Q_PROPERTY( QString options READ options WRITE setOptions )
00058 Q_PROPERTY( QByteArray input READ input WRITE setInput )
00059 Q_PROPERTY( QByteArray result READ result )
00060 public:
00061 enum Mode {
00062 Encrypt, Decrypt
00063 };
00064 ChiasmusJob( Mode op );
00065 ~ChiasmusJob();
00066
00068 GpgME::Error start();
00070 GpgME::Error exec();
00071
00073 void showErrorDialog( QWidget *, const QString & ) const;
00074
00075 Mode mode() const { return mMode; }
00076
00077 QString key() const { return mKey; }
00078 void setKey( const QString & key ) { mKey = key; }
00079
00080 QString options() const { return mOptions; }
00081 void setOptions( const QString & options ) { mOptions = options; }
00082
00083 QByteArray input() const { return mInput; }
00084 void setInput( const QByteArray & input ) { mInput = input; }
00085
00086
00087 QByteArray result() const { return mOutput; }
00088
00089 public slots:
00090 void slotCancel();
00091
00092 private slots:
00093 GpgME::Error slotProcessExited( KProcess * );
00094 void slotTimeout();
00095
00096 private:
00097 bool checkPreconditions() const;
00098 GpgME::Error setup();
00099 void showChiasmusOutput();
00100
00101 private:
00102 SymCryptRunProcessBase * mSymCryptRun;
00103 QString mKey;
00104 QString mOptions;
00105 QByteArray mInput, mOutput;
00106 GpgME::Error mError;
00107 QString mStderr;
00108 bool mCanceled;
00109 bool mTimeout;
00110 const Mode mMode;
00111 };
00112
00113 }
00114
00115
00116 #endif // __KLEO_CHIASMUSJOB_H__
|