35class Pass :
public QObject {
91 virtual void Show(QString file) = 0;
103 virtual void Insert(QString file, QString value,
bool force) = 0;
109 virtual void Remove(QString file,
bool isDir) = 0;
116 virtual void Move(
const QString srcDir,
const QString dest,
117 const bool force =
false) = 0;
124 virtual void Copy(
const QString srcDir,
const QString dest,
125 const bool force =
false) = 0;
131 virtual void Init(QString path,
const QList<UserInfo> &users) = 0;
153 auto listKeys(QStringList keystrings,
bool secret =
false) -> QList<UserInfo>;
160 auto listKeys(
const QString &keystring =
"",
bool secret =
false)
180 static auto getGpgIdPath(
const QString &for_file) -> QString;
195 const QString &separator =
" ",
196 int *count =
nullptr) -> QStringList;
208 bool readStdout =
true,
bool readStderr =
true);
234 const QStringList &args, QString input,
235 bool readStdout =
true,
bool readStderr =
true);
245 virtual void finished(
int id,
int exitCode,
const QString &out,
id Identifier provided by the caller for this queued request.
void init()
Initialize the Pass instance.
void startingExecuteWrapper()
Emitted before executing a command.
void GenerateGPGKeys(QString batch)
Generate GPG keys using batch script.
void critical(const QString &, const QString &)
Emit critical error.
virtual void Copy(const QString srcDir, const QString dest, const bool force=false)=0
Copy password file or directory.
void finishedCopy(const QString &, const QString &)
Emitted when copy finishes.
void finishedShow(const QString &)
Emitted when show finishes.
void finishedRemove(const QString &, const QString &)
Emitted when remove finishes.
virtual void GitInit()=0
Initialize Git repository in password store.
virtual void GitPull()=0
Pull changes from remote Git repository.
virtual auto generatePassword(unsigned int length, const QString &charset) -> QString
Generate random password.
void finishedMove(const QString &, const QString &)
Emitted when move finishes.
void statusMsg(const QString &, int)
Emit status message.
static bool gpgSupportsEd25519()
Check if GPG supports Ed25519 encryption.
auto boundedRandom(quint32 bound) -> quint32
Generate random number in range.
void finishedGitInit(const QString &, const QString &)
Emitted when Git init finishes.
virtual void Remove(QString file, bool isDir)=0
Remove password file or directory.
Pass()
Construct a Pass instance.
virtual void Show(QString file)=0
Show decrypted password file.
void executeWrapper(PROCESS id, const QString &app, const QStringList &args, bool readStdout=true, bool readStderr=true)
Execute external wrapper command.
void finishedAny(const QString &, const QString &)
Emitted when any operation finishes.
static auto getRecipientList(const QString &for_file) -> QStringList
Get list of recipients for a password file.
static auto resolveGpgconfCommand(const QString &gpgPath) -> ResolvedGpgconfCommand
Resolve the gpgconf command to kill agents.
auto listKeys(QStringList keystrings, bool secret=false) -> QList< UserInfo >
List GPG keys matching patterns.
void finishedInsert(const QString &, const QString &)
Emitted when insert finishes.
virtual void GitPull_b()=0
Pull with rebase from remote.
void finishedInit(const QString &, const QString &)
Emitted when init finishes.
virtual void GitPush()=0
Push changes to remote Git repository.
static auto getGpgIdPath(const QString &for_file) -> QString
Get .gpg-id file path for a password file.
virtual void Insert(QString file, QString value, bool force)=0
Insert or update password.
void finishedOtpGenerate(const QString &)
Emitted when OTP generation finishes.
void processErrorExit(int exitCode, const QString &err)
Emitted on process error exit.
void finishedGitPull(const QString &, const QString &)
Emitted when Git pull finishes.
void finishedGitPush(const QString &, const QString &)
Emitted when Git push finishes.
virtual void Move(const QString srcDir, const QString dest, const bool force=false)=0
Move password file or directory.
void finishedGenerate(const QString &, const QString &)
Emitted when generate finishes.
virtual void OtpGenerate(QString file)=0
Generate OTP for password file.
void updateEnv()
Update environment for subprocesses.
void error(QProcess::ProcessError)
Emitted when a process error occurs.
virtual void finished(int id, int exitCode, const QString &out, const QString &err)
Handle process completion.
static auto getRecipientString(const QString &for_file, const QString &separator=" ", int *count=nullptr) -> QStringList
Get recipients as string.
static QString getDefaultKeyTemplate()
Get default key template for new GPG keys.
void finishedGenerateGPGKeys(const QString &, const QString &)
Emitted when GPG key generation finishes.
virtual void Init(QString path, const QList< UserInfo > &users)=0
Initialize new password store.
auto generateRandomPassword(const QString &charset, unsigned int length) -> QString
Generate random password from charset.
PROCESS
Identifies different subprocess operations used in QtPass.