diff options
Diffstat (limited to 'lang/cpp')
| -rw-r--r-- | lang/cpp/src/context.cpp | 50 | ||||
| -rw-r--r-- | lang/cpp/src/context.h | 26 | 
2 files changed, 76 insertions, 0 deletions
| diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp index 77962d89..135e4d56 100644 --- a/lang/cpp/src/context.cpp +++ b/lang/cpp/src/context.cpp @@ -1404,6 +1404,38 @@ Error Context::setTofuPolicyStart(const Key &k, unsigned int policy)                   k.impl(), to_tofu_policy_t(policy)));  } +Error Context::startCreateKey (const char *userid, +                               const char *algo, +                               unsigned long reserved, +                               unsigned long expires, +                               const Key &certkey, +                               unsigned int flags) +{ +    return Error(d->lasterr = gpgme_op_createkey_start(d->ctx, +                 userid, +                 algo, +                 reserved, +                 expires, +                 certkey.impl(), +                 flags)); +} + +Error Context::createKey (const char *userid, +                          const char *algo, +                          unsigned long reserved, +                          unsigned long expires, +                          const Key &certkey, +                          unsigned int flags) +{ +    return Error(d->lasterr = gpgme_op_createkey(d->ctx, +                 userid, +                 algo, +                 reserved, +                 expires, +                 certkey.impl(), +                 flags)); +} +  Error Context::addUid(const Key &k, const char *userid)  {      return Error(d->lasterr = gpgme_op_adduid(d->ctx, @@ -1428,6 +1460,24 @@ Error Context::startRevUid(const Key &k, const char *userid)                   k.impl(), userid, 0));  } +Error Context::createSubkey(const Key &k, const char *algo, +                            unsigned long reserved, +                            unsigned long expires, +                            unsigned int flags) +{ +    return Error(d->lasterr = gpgme_op_createsubkey(d->ctx, +                 k.impl(), algo, reserved, expires, flags)); +} + +Error Context::startCreateSubkey(const Key &k, const char *algo, +                                 unsigned long reserved, +                                 unsigned long expires, +                                 unsigned int flags) +{ +    return Error(d->lasterr = gpgme_op_createsubkey_start(d->ctx, +                 k.impl(), algo, reserved, expires, flags)); +} +  // Engine Spawn stuff  Error Context::spawn(const char *file, const char *argv[],                       Data &input, Data &output, Data &err, diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h index bec4e39a..4cd5b307 100644 --- a/lang/cpp/src/context.h +++ b/lang/cpp/src/context.h @@ -214,12 +214,38 @@ public:      GpgME::Error edit(const Key &key, std::unique_ptr<EditInteractor> function, Data &out);      GpgME::Error startEditing(const Key &key, std::unique_ptr<EditInteractor> function, Data &out); + +    // +    // Modern Interface actions. Require 2.1.x +    // +    Error startCreateKey (const char *userid, +                          const char *algo, +                          unsigned long reserved, +                          unsigned long expires, +                          const Key &certkey, +                          unsigned int flags); +    Error createKey (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);      Error revUid(const Key &key, const char *userid);      Error startRevUid(const Key &key, const char *userid); +    Error createSubkey(const Key &key, const char *algo, +                       unsigned long reserved = 0, +                       unsigned long expires = 0, +                       unsigned int flags = 0); +    Error startCreateSubkey(const Key &key, const char *algo, +                            unsigned long reserved = 0, +                            unsigned long expires = 0, +                            unsigned int flags = 0); +      // using TofuInfo::Policy      Error setTofuPolicy(const Key &k, unsigned int policy);      Error setTofuPolicyStart(const Key &k, unsigned int policy); | 
