diff options
author | Nils Achtergarde <[email protected]> | 2018-01-04 21:39:25 +0000 |
---|---|---|
committer | Nils Achtergarde <[email protected]> | 2018-01-04 21:39:25 +0000 |
commit | b36dc4d79f446ae69aeb85137663a4e0ca23eba2 (patch) | |
tree | 23d0ae5e94e874064143735c249a2ad2cb95ad16 /gpgcontext.h | |
parent | added .gitignore with mocfiles-dir and objectfiles-dir (diff) | |
download | gpg4usb-b36dc4d79f446ae69aeb85137663a4e0ca23eba2.tar.gz gpg4usb-b36dc4d79f446ae69aeb85137663a4e0ca23eba2.zip |
put *.h and *.cpp to src-subdirectory
Diffstat (limited to 'gpgcontext.h')
-rw-r--r-- | gpgcontext.h | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/gpgcontext.h b/gpgcontext.h deleted file mode 100644 index 5b8f93c..0000000 --- a/gpgcontext.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * gpgcontext.h - * - * Copyright 2008 gpg4usb-team <[email protected]> - * - * This file is part of gpg4usb. - * - * Gpg4usb is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Gpg4usb is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with gpg4usb. If not, see <http://www.gnu.org/licenses/> - */ - -#ifndef __SGPGMEPP_CONTEXT_H__ -#define __SGPGMEPP_CONTEXT_H__ - -#include "gpgconstants.h" -#include <locale.h> -#include <errno.h> -#include <gpgme.h> -#include <QLinkedList> -#include <QtGui> - -QT_BEGIN_NAMESPACE -class QMessageBox; -class sstream; -class QApplication; -class QByteArray; -class QString; -QT_END_NAMESPACE - -class GpgKey -{ -public: - GpgKey() { - privkey = false; - } - QString id; - QString name; - QString email; - QString fpr; - bool privkey; - bool expired; - bool revoked; -}; - -typedef QLinkedList< GpgKey > GpgKeyList; - -class GpgImportedKey -{ -public: - QString fpr; - int importStatus; -}; - -typedef QLinkedList< GpgImportedKey > GpgImportedKeyList; - -class GpgImportInformation -{ -public: - GpgImportInformation() { - considered = 0; - no_user_id = 0; - imported = 0; - imported_rsa = 0; - unchanged = 0; - new_user_ids = 0; - new_sub_keys = 0; - new_signatures = 0; - new_revocations = 0; - secret_read = 0; - secret_imported = 0; - secret_unchanged = 0; - not_imported = 0; - } - - int considered; - int no_user_id; - int imported; - int imported_rsa; - int unchanged; - int new_user_ids; - int new_sub_keys; - int new_signatures; - int new_revocations; - int secret_read; - int secret_imported; - int secret_unchanged; - int not_imported; - GpgImportedKeyList importedKeys; -}; - -namespace GpgME -{ - -class GpgContext : public QObject -{ - Q_OBJECT - -public: - GpgContext(); // Constructor - ~GpgContext(); // Destructor - GpgImportInformation importKey(QByteArray inBuffer); - bool exportKeys(QStringList *uidList, QByteArray *outBuffer); - void generateKey(QString *params); - GpgKeyList listKeys(); - void deleteKeys(QStringList *uidList); - bool encrypt(QStringList *uidList, const QByteArray &inBuffer, - QByteArray *outBuffer); - bool decrypt(const QByteArray &inBuffer, QByteArray *outBuffer); - void clearPasswordCache(); - void exportSecretKey(QString uid, QByteArray *outBuffer); - gpgme_key_t getKeyDetails(QString uid); - gpgme_signature_t verify(QByteArray *inBuffer, QByteArray *sigBuffer = NULL); -// void decryptVerify(QByteArray in); - bool sign(QStringList *uidList, const QByteArray &inBuffer, QByteArray *outBuffer, bool detached = false); - /** - * @details If text contains PGP-message, put a linebreak before the message, - * so that gpgme can decrypt correctly - * - * @param in Pointer to the QBytearray to check. - */ - void preventNoDataErr(QByteArray *in); - - GpgKey getKeyByFpr(QString fpr); - GpgKey getKeyById(QString id); - - static QString gpgErrString(gpgme_error_t err); - static QString getGpgmeVersion(); - - /** - * @brief - * - * @param text - * @return \li 2, if the text is completly signed, - * \li 1, if the text is partially signed, - * \li 0, if the text is not signed at all. - */ - int textIsSigned(const QByteArray &text); - QString beautifyFingerprint(QString fingerprint); - -signals: - void signalKeyDBChanged(); - -private slots: - void slotRefreshKeyList(); - -private: - gpgme_ctx_t mCtx; - gpgme_data_t in, out; - gpgme_error_t err; - gpgme_error_t readToBuffer(gpgme_data_t in, QByteArray *outBuffer); - QByteArray mPasswordCache; - QSettings settings; - bool debug; - GpgKeyList mKeyList; - int checkErr(gpgme_error_t err) const; - int checkErr(gpgme_error_t err, QString comment) const; - - static gpgme_error_t passphraseCb(void *hook, const char *uid_hint, - const char *passphrase_info, - int last_was_bad, int fd); - gpgme_error_t passphrase(const char *uid_hint, - const char *passphrase_info, - int last_was_bad, int fd); - - void executeGpgCommand(QStringList arguments, - QByteArray *stdOut, - QByteArray *stdErr); - QString gpgBin; - QString gpgKeys; -}; -} // namespace GpgME - -#endif // __SGPGMEPP_CONTEXT_H__ |