tsafe.h - sailfish-safe - Sailfish frontend for safe(1)
 (HTM) git clone git://git.z3bra.org/sailfish-safe.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tsafe.h (1697B)
       ---
            1 #ifndef SAFE_H
            2 #define SAFE_H
            3 
            4 #include <QObject>
            5 #include <QVector>
            6 
            7 namespace Safe
            8 {
            9 class LockTask;
           10 class UnlockTask;
           11 class DecryptTask;
           12 class EncryptTask;
           13 
           14 LockTask *lock();
           15 UnlockTask *unlock(const QString &passphrase);
           16 DecryptTask *decrypt(const QString &file);
           17 EncryptTask *encrypt(const QString &data, const QString &file);
           18 
           19 
           20 class Task : public QObject {
           21     Q_OBJECT
           22 public:
           23     bool error() const;
           24     QString errorString() const;
           25 
           26 Q_SIGNALS:
           27     void finished();
           28 
           29 protected:
           30     explicit Task(QObject *parent = nullptr);
           31 
           32     virtual void run() = 0;
           33 
           34     void setError(const QString &error);
           35 
           36 private Q_SLOTS:
           37     void start();
           38 
           39 private:
           40     QString mError;
           41 };
           42 
           43 class LockTask : public Task {
           44     Q_OBJECT
           45     friend LockTask *Safe::lock();
           46 public:
           47     QString content() const;
           48 
           49 protected:
           50     void run() override;
           51 
           52 private:
           53     LockTask();
           54 };
           55 
           56 class UnlockTask : public Task {
           57     Q_OBJECT
           58     friend UnlockTask *Safe::unlock(const QString &);
           59 public:
           60     QString content() const;
           61 
           62 protected:
           63     void run() override;
           64 
           65 private:
           66     UnlockTask(const QString &passphrase);
           67 
           68     QString mPassphrase;
           69 };
           70 
           71 class DecryptTask : public Task {
           72     Q_OBJECT
           73     friend DecryptTask *Safe::decrypt(const QString &);
           74 public:
           75     QString content() const;
           76 
           77 protected:
           78     void run() override;
           79 
           80 private:
           81     DecryptTask(const QString &file);
           82 
           83     QString mFile;
           84     QString mContent;
           85 };
           86 
           87 class EncryptTask : public Task {
           88     Q_OBJECT
           89     friend EncryptTask *Safe::encrypt(const QString &, const QString &);
           90 protected:
           91     void run() override;
           92 
           93 private:
           94     EncryptTask(const QString &file, const QString &content);
           95 
           96     QString mFile;
           97     QString mContent;
           98 };
           99 
          100 } // namespace Safe
          101 
          102 #endif // SAFE_H