aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/context.cpp
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2023-12-19 13:01:18 +0000
committerIngo Klöcker <[email protected]>2023-12-19 13:01:18 +0000
commit60c0fd7c955d6b8c1d0d7be3d3c65257c6418a26 (patch)
tree450f19fd9ab1672b4b169ea4c34497246fbb4ae0 /lang/cpp/src/context.cpp
parentcore: Support writing the decrypt/verify output directly to a file (diff)
downloadgpgme-60c0fd7c955d6b8c1d0d7be3d3c65257c6418a26.tar.gz
gpgme-60c0fd7c955d6b8c1d0d7be3d3c65257c6418a26.zip
cpp: Support new flags for direct signing/encryption of files
* lang/cpp/src/context.h (enum EncryptionFlags): Add constant EncryptFile. * lang/cpp/src/global.h (enum SignatureMode): Add constant SignFile. * lang/cpp/src/context.cpp (sigflags2sigflags): Handle new flag SignFile. (encryptflags2encryptflags): Handle new flag EncryptFile. (operator<<): Add new flags to the corresponding debug streams. * lang/cpp/src/signingresult.cpp (CreatedSignature::mode): Handle new flag SignFile (even if it cannot occur). -- GnuPG-bug-id: 6550
Diffstat (limited to 'lang/cpp/src/context.cpp')
-rw-r--r--lang/cpp/src/context.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index bdcfabed..7d04e9cc 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -1301,6 +1301,9 @@ static gpgme_sig_mode_t sigflags2sigflags(SignatureMode flags)
if (flags & SignatureMode::SignArchive) {
result |= GPGME_SIG_MODE_ARCHIVE;
}
+ if (flags & SignatureMode::SignFile) {
+ result |= GPGME_SIG_MODE_FILE;
+ }
return static_cast<gpgme_sig_mode_t>(result);
}
@@ -1363,6 +1366,9 @@ static gpgme_encrypt_flags_t encryptflags2encryptflags(Context::EncryptionFlags
if (flags & Context::EncryptArchive) {
result |= GPGME_ENCRYPT_ARCHIVE;
}
+ if (flags & Context::EncryptFile) {
+ result |= GPGME_ENCRYPT_FILE;
+ }
return static_cast<gpgme_encrypt_flags_t>(result);
}
@@ -1927,6 +1933,7 @@ std::ostream &operator<<(std::ostream &os, SignatureMode mode)
}
#define CHECK( x ) if ( !(mode & (x)) ) {} else do { os << #x " "; } while (0)
CHECK(SignArchive);
+ CHECK(SignFile);
#undef CHECK
return os << ')';
}
@@ -1945,6 +1952,7 @@ std::ostream &operator<<(std::ostream &os, Context::EncryptionFlags flags)
CHECK(EncryptWrap);
CHECK(WantAddress);
CHECK(EncryptArchive);
+ CHECK(EncryptFile);
#undef CHECK
return os << ')';
}