File indexing completed on 2024-05-05 10:13:55
0001 /* 0002 SPDX-FileCopyrightText: 2008-2022 Rolf Eike Beer <kde@opensource.sf-tec.de> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #include "kgpguidtransaction.h" 0007 0008 KGpgUidTransaction::KGpgUidTransaction(QObject *parent, const QString &keyid, const QString &uid) 0009 : KGpgTransaction(parent) 0010 { 0011 addArgument(QLatin1String( "--status-fd=1" )); 0012 addArgument(QLatin1String( "--command-fd=0" )); 0013 addArgument(QLatin1String( "--edit-key" )); 0014 m_keyidpos = addArgument(QString()); 0015 addArgumentRef(&m_keyidpos); 0016 addArgument(QLatin1String( "uid" )); 0017 m_uidpos = addArgument(QString()); 0018 addArgumentRef(&m_uidpos); 0019 0020 setKeyId(keyid); 0021 setUid(uid); 0022 } 0023 0024 bool 0025 KGpgUidTransaction::preStart() 0026 { 0027 setSuccess(TS_MSG_SEQUENCE); 0028 0029 return true; 0030 } 0031 0032 bool 0033 KGpgUidTransaction::standardCommands(const QString &line) 0034 { 0035 if (!line.startsWith(QLatin1String("[GNUPG:] "))) 0036 return false; 0037 0038 if (line.contains(QLatin1String( "GOOD_PASSPHRASE" ))) { 0039 setSuccess(TS_MSG_SEQUENCE); 0040 } else if (line.contains(QLatin1String( "keyedit.prompt" ))) { 0041 write("save"); 0042 if (getSuccess() == TS_MSG_SEQUENCE) 0043 setSuccess(TS_OK); 0044 return true; 0045 } else if (line.contains(QLatin1String( "GET_" ))) { 0046 setSuccess(TS_MSG_SEQUENCE); 0047 return true; 0048 } 0049 0050 return false; 0051 } 0052 0053 void 0054 KGpgUidTransaction::setKeyId(const QString &keyid) 0055 { 0056 m_keyid = keyid; 0057 0058 replaceArgument(m_keyidpos, keyid); 0059 } 0060 0061 QString 0062 KGpgUidTransaction::getKeyId(void) const 0063 { 0064 return m_keyid; 0065 } 0066 0067 void 0068 KGpgUidTransaction::setUid(const QString &uid) 0069 { 0070 m_uid = uid; 0071 0072 replaceArgument(m_uidpos, uid); 0073 } 0074 0075 void 0076 KGpgUidTransaction::setUid(const unsigned int uid) 0077 { 0078 setUid(QString::number(uid)); 0079 }