LCOV - code coverage report
Current view: top level - src - pass.h (source / functions) Coverage Total Hit
Test: .lcov.total Lines: 33.3 % 3 1
Test Date: 2026-03-23 21:55:57 Functions: 100.0 % 1 1

            Line data    Source code
       1              : // SPDX-FileCopyrightText: 2016 Anne Jan Brouwer
       2              : // SPDX-License-Identifier: GPL-3.0-or-later
       3              : #ifndef SRC_PASS_H_
       4              : #define SRC_PASS_H_
       5              : 
       6              : #include "enums.h"
       7              : #include "executor.h"
       8              : #include "userinfo.h"
       9              : 
      10              : #include <QProcess>
      11              : #include <QQueue>
      12              : #include <QString>
      13              : #include <cassert>
      14              : #include <map>
      15              : 
      16              : /*!
      17              :     \class Pass
      18              :     \brief Acts as an abstraction for pass or pass imitation
      19              : */
      20              : class Pass : public QObject {
      21            0 :   Q_OBJECT
      22              : 
      23              :   bool wrapperRunning;
      24              :   QStringList env;
      25              : 
      26              : protected:
      27              :   Executor exec;
      28              : 
      29              :   typedef Enums::PROCESS PROCESS;
      30              : 
      31              : public:
      32              :   Pass();
      33              :   void init();
      34              : 
      35          156 :   virtual ~Pass() {}
      36              :   virtual void GitInit() = 0;
      37              :   virtual void GitPull() = 0;
      38              :   virtual void GitPull_b() = 0;
      39              :   virtual void GitPush() = 0;
      40              :   virtual void Show(QString file) = 0;
      41              :   virtual void OtpGenerate(QString file) = 0;
      42              :   virtual void Insert(QString file, QString value, bool force) = 0;
      43              :   virtual void Remove(QString file, bool isDir) = 0;
      44              :   virtual void Move(const QString srcDir, const QString dest,
      45              :                     const bool force = false) = 0;
      46              :   virtual void Copy(const QString srcDir, const QString dest,
      47              :                     const bool force = false) = 0;
      48              :   virtual void Init(QString path, const QList<UserInfo> &users) = 0;
      49              :   virtual auto Generate_b(unsigned int length, const QString &charset)
      50              :       -> QString;
      51              : 
      52              :   void GenerateGPGKeys(QString batch);
      53              :   auto listKeys(QStringList keystrings, bool secret = false) -> QList<UserInfo>;
      54            0 :   auto listKeys(const QString &keystring = "", bool secret = false)
      55              :       -> QList<UserInfo>;
      56              :   void updateEnv();
      57              :   static auto getGpgIdPath(const QString &for_file) -> QString;
      58              :   static auto getRecipientList(const QString &for_file) -> QStringList;
      59              :   // TODO(bezet): getRecipientString is useless, refactor
      60              :   static auto getRecipientString(const QString &for_file,
      61              :                                  const QString &separator = " ",
      62              :                                  int *count = NULL) -> QStringList;
      63              : 
      64              : protected:
      65              :   void executeWrapper(PROCESS id, const QString &app, const QStringList &args,
      66              :                       bool readStdout = true, bool readStderr = true);
      67              :   auto generateRandomPassword(const QString &charset, unsigned int length)
      68              :       -> QString;
      69              :   auto boundedRandom(quint32 bound) -> quint32;
      70              : 
      71              :   virtual void executeWrapper(PROCESS id, const QString &app,
      72              :                               const QStringList &args, QString input,
      73              :                               bool readStdout = true, bool readStderr = true);
      74              : 
      75              : protected slots:
      76              :   virtual void finished(int id, int exitCode, const QString &out,
      77              :                         const QString &err);
      78              : 
      79              : signals:
      80              :   void error(QProcess::ProcessError);
      81              :   void startingExecuteWrapper();
      82              :   void statusMsg(const QString &, int);
      83              :   void critical(const QString &, const QString &);
      84              : 
      85              :   void processErrorExit(int exitCode, const QString &err);
      86              : 
      87              :   void finishedAny(const QString &, const QString &);
      88              :   void finishedGitInit(const QString &, const QString &);
      89              :   void finishedGitPull(const QString &, const QString &);
      90              :   void finishedGitPush(const QString &, const QString &);
      91              :   void finishedShow(const QString &);
      92              :   void finishedOtpGenerate(const QString &);
      93              :   void finishedInsert(const QString &, const QString &);
      94              :   void finishedRemove(const QString &, const QString &);
      95              :   void finishedInit(const QString &, const QString &);
      96              :   void finishedMove(const QString &, const QString &);
      97              :   void finishedCopy(const QString &, const QString &);
      98              :   void finishedGenerate(const QString &, const QString &);
      99              :   void finishedGenerateGPGKeys(const QString &, const QString &);
     100              : };
     101              : 
     102              : #endif // SRC_PASS_H_
        

Generated by: LCOV version 2.4-beta