1 /* 2 kleo/enum.h 3 4 This file is part of libkleopatra, the KDE keymanagement library 5 SPDX-FileCopyrightText: 2004 Klarälvdalens Datakonsult AB 6 7 SPDX-License-Identifier: GPL-2.0-or-later 8 */ 9 10 #pragma once 11 12 #include "kleo_export.h" 13 14 class QString; 15 #include <QStringList> 16 17 namespace GpgME { 18 class Key; 19 class UserID; 20 } 21 22 namespace Kleo 23 { 24 25 enum class KeyUsage : char { 26 AnyUsage, 27 Sign, 28 Encrypt, 29 Certify, 30 Authenticate, 31 }; 32 33 enum CryptoMessageFormat { 34 InlineOpenPGPFormat = 1, 35 OpenPGPMIMEFormat = 2, 36 SMIMEFormat = 4, 37 SMIMEOpaqueFormat = 8, 38 AnyOpenPGP = InlineOpenPGPFormat | OpenPGPMIMEFormat, 39 AnySMIME = SMIMEOpaqueFormat | SMIMEFormat, 40 AutoFormat = AnyOpenPGP | AnySMIME 41 }; 42 43 KLEO_EXPORT QString cryptoMessageFormatToLabel(CryptoMessageFormat f); 44 45 KLEO_EXPORT const char *cryptoMessageFormatToString(CryptoMessageFormat f); 46 KLEO_EXPORT QStringList cryptoMessageFormatsToStringList(unsigned int f); 47 KLEO_EXPORT CryptoMessageFormat stringToCryptoMessageFormat(const QString &s); 48 KLEO_EXPORT unsigned int stringListToCryptoMessageFormats(const QStringList &sl); 49 50 enum Action { 51 Conflict, DoIt, DontDoIt, Ask, AskOpportunistic, Impossible 52 }; 53 54 enum EncryptionPreference { 55 UnknownPreference = 0, 56 NeverEncrypt = 1, 57 AlwaysEncrypt = 2, 58 AlwaysEncryptIfPossible = 3, 59 AlwaysAskForEncryption = 4, 60 AskWheneverPossible = 5, 61 MaxEncryptionPreference = AskWheneverPossible 62 }; 63 64 KLEO_EXPORT QString encryptionPreferenceToLabel(EncryptionPreference pref); 65 KLEO_EXPORT const char *encryptionPreferenceToString(EncryptionPreference pref); 66 KLEO_EXPORT EncryptionPreference stringToEncryptionPreference(const QString &str); 67 68 enum SigningPreference { 69 UnknownSigningPreference = 0, 70 NeverSign = 1, 71 AlwaysSign = 2, 72 AlwaysSignIfPossible = 3, 73 AlwaysAskForSigning = 4, 74 AskSigningWheneverPossible = 5, 75 MaxSigningPreference = AskSigningWheneverPossible 76 }; 77 78 KLEO_EXPORT QString signingPreferenceToLabel(SigningPreference pref); 79 KLEO_EXPORT const char *signingPreferenceToString(SigningPreference pref); 80 KLEO_EXPORT SigningPreference stringToSigningPreference(const QString &str); 81 82 enum TrustLevel { 83 Level0, 84 Level1, 85 Level2, 86 Level3, 87 Level4 88 }; 89 90 KLEO_EXPORT TrustLevel trustLevel(const GpgME::Key &key); 91 KLEO_EXPORT TrustLevel trustLevel(const GpgME::UserID &uid); 92 93 94 } 95 96