aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'lang/cpp/src')
-rw-r--r--lang/cpp/src/context.cpp17
-rw-r--r--lang/cpp/src/context.h10
2 files changed, 26 insertions, 1 deletions
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index 814e5a82..d63573f0 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -1094,6 +1094,18 @@ static gpgme_encrypt_flags_t encryptflags2encryptflags(Context::EncryptionFlags
if (flags & Context::NoEncryptTo) {
result |= GPGME_ENCRYPT_NO_ENCRYPT_TO;
}
+ if (flags & Context::Prepare) {
+ result |= GPGME_ENCRYPT_PREPARE;
+ }
+ if (flags & Context::ExpectSign) {
+ result |= GPGME_ENCRYPT_EXPECT_SIGN;
+ }
+ if (flags & Context::NoCompress) {
+ result |= GPGME_ENCRYPT_NO_COMPRESS;
+ }
+ if (flags & Context::Symmetric) {
+ result |= GPGME_ENCRYPT_SYMMETRIC;
+ }
return static_cast<gpgme_encrypt_flags_t>(result);
}
@@ -1395,6 +1407,11 @@ std::ostream &operator<<(std::ostream &os, Context::EncryptionFlags flags)
os << "GpgME::Context::EncryptionFlags(";
#define CHECK( x ) if ( !(flags & (Context::x)) ) {} else do { os << #x " "; } while (0)
CHECK(AlwaysTrust);
+ CHECK(NoEncryptTo);
+ CHECK(Prepare);
+ CHECK(ExpectSign);
+ CHECK(NoCompress);
+ CHECK(Symmetric);
#undef CHECK
return os << ')';
}
diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h
index c9c2af73..c7c0ecb9 100644
--- a/lang/cpp/src/context.h
+++ b/lang/cpp/src/context.h
@@ -292,7 +292,15 @@ public:
// Encryption
//
- enum EncryptionFlags { None = 0, AlwaysTrust = 1, NoEncryptTo = 2 };
+ enum EncryptionFlags {
+ None = 0,
+ AlwaysTrust = 1,
+ NoEncryptTo = 2,
+ Prepare = 4,
+ ExpectSign = 8,
+ NoCompress = 16,
+ Symmetric = 32
+ };
EncryptionResult encrypt(const std::vector<Key> &recipients, const Data &plainText, Data &cipherText, EncryptionFlags flags);
GpgME::Error encryptSymmetrically(const Data &plainText, Data &cipherText);
GpgME::Error startEncryption(const std::vector<Key> &recipients, const Data &plainText, Data &cipherText, EncryptionFlags flags);