aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2018-06-08 14:19:47 +0000
committerAndre Heinecke <[email protected]>2018-06-08 14:19:47 +0000
commit8dff414e170e4df8ea661028c4ac1588311ca26e (patch)
tree31c22ac02ca6ba4bf730f1f2e1d3e4c7f314e2a8
parentjson: Return fingerprint as createkey result (diff)
downloadgpgme-8dff414e170e4df8ea661028c4ac1588311ca26e.tar.gz
gpgme-8dff414e170e4df8ea661028c4ac1588311ca26e.zip
cpp: Add proper gpgme_op_createkey
* lang/cpp/src/context.cpp, lang/cpp/src/context.h (Context::createKeyEx): New. -- The createKeyEx function follows the usual pattern that the synchronous call returns a result directly while for the async an extra call is neccessary.
-rw-r--r--NEWS1
-rw-r--r--lang/cpp/src/context.cpp17
-rw-r--r--lang/cpp/src/context.h8
3 files changed, 26 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e70b9a9d..6c33c258 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,7 @@ Noteworthy changes in version 1.11.2 (unreleased)
cpp: Data::rewind NEW.
cpp: Context::setFlag NEW.
cpp: Context::getFlag NEW.
+ cpp: Context::createKeyEx NEW.
Noteworthy changes in version 1.11.1 (2018-04-20)
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index 8fde84a5..aab22cdb 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -1436,6 +1436,23 @@ Error Context::createKey (const char *userid,
flags));
}
+KeyGenerationResult Context::createKeyEx (const char *userid,
+ const char *algo,
+ unsigned long reserved,
+ unsigned long expires,
+ const Key &certkey,
+ unsigned int flags)
+{
+ d->lasterr = gpgme_op_createkey(d->ctx,
+ userid,
+ algo,
+ reserved,
+ expires,
+ certkey.impl(),
+ flags);
+ return KeyGenerationResult(d->ctx, Error(d->lasterr));
+}
+
Error Context::addUid(const Key &k, const char *userid)
{
return Error(d->lasterr = gpgme_op_adduid(d->ctx,
diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h
index 8cccff5c..a14625e0 100644
--- a/lang/cpp/src/context.h
+++ b/lang/cpp/src/context.h
@@ -234,6 +234,14 @@ public:
const Key &certkey,
unsigned int flags);
+ // Same as create key but returning a result
+ GpgME::KeyGenerationResult createKeyEx (const char *userid,
+ const char *algo,
+ unsigned long reserved,
+ unsigned long expires,
+ const Key &certkey,
+ unsigned int flags);
+
Error addUid(const Key &key, const char *userid);
Error startAddUid(const Key &key, const char *userid);