diff options
Diffstat (limited to 'lang/cpp/src')
| -rw-r--r-- | lang/cpp/src/context.cpp | 5 | ||||
| -rw-r--r-- | lang/cpp/src/context.h | 2 | ||||
| -rw-r--r-- | lang/cpp/src/key.cpp | 20 | ||||
| -rw-r--r-- | lang/cpp/src/key.h | 14 | 
4 files changed, 41 insertions, 0 deletions
| diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp index 2892d8b4..ce38db0b 100644 --- a/lang/cpp/src/context.cpp +++ b/lang/cpp/src/context.cpp @@ -228,6 +228,11 @@ Context *Context::createForProtocol(Protocol proto)      return new Context(ctx);  } +std::unique_ptr<Context> Context::create(Protocol proto) +{ +  return std::unique_ptr <Context> (createForProtocol(proto)); +} +  std::unique_ptr<Context> Context::createForEngine(Engine eng, Error *error)  {      gpgme_ctx_t ctx = 0; diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h index 6e27daa6..d3700e03 100644 --- a/lang/cpp/src/context.h +++ b/lang/cpp/src/context.h @@ -68,6 +68,8 @@ public:      //      static Context *createForProtocol(Protocol proto); +    /** Same as above but returning a unique ptr. */ +    static std::unique_ptr<Context> create(Protocol proto);      static std::unique_ptr<Context> createForEngine(Engine engine, Error *err = 0);      virtual ~Context(); diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 8fc266ff..0d272926 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -1033,6 +1033,26 @@ time_t Key::lastUpdate() const      return static_cast<time_t>(key ? key->last_update : 0);  } +bool Key::isBad() const +{ +    return isNull() || isRevoked() || isExpired() || isDisabled() || isInvalid(); +} + +bool Subkey::isBad() const +{ +    return isNull() || isRevoked() || isExpired() || isDisabled() || isInvalid(); +} + +bool UserID::isBad() const +{ +    return isNull() || isRevoked() || isInvalid(); +} + +bool UserID::Signature::isBad() const +{ +    return isNull() || isExpired() || isInvalid(); +} +  std::ostream &operator<<(std::ostream &os, const UserID &uid)  {      os << "GpgME::UserID("; diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h index 76a0d4f4..c4edba07 100644 --- a/lang/cpp/src/key.h +++ b/lang/cpp/src/key.h @@ -98,6 +98,10 @@ public:      bool isDisabled() const;      bool isInvalid() const; +    /*! Shorthand for isNull || isRevoked || isExpired || +     *                          isDisabled || isInvalid */ +    bool isBad() const; +      bool canEncrypt() const;      /*!        This function contains a workaround for old gpgme's: all secret @@ -250,6 +254,10 @@ public:      bool isInvalid() const;      bool isDisabled() const; +    /*! Shorthand for isNull || isRevoked || isExpired || +     *                          isDisabled || isInvalid */ +    bool isBad() const; +      bool canEncrypt() const;      bool canSign() const;      bool canCertify() const; @@ -366,6 +374,9 @@ public:      bool isRevoked() const;      bool isInvalid() const; +    /*! Shorthand for isNull || isRevoked || isInvalid */ +    bool isBad() const; +      /** TOFU info for this userid.       * @returns The TOFU stats or a null TofuInfo.       */ @@ -454,6 +465,9 @@ public:      bool isExpired() const;      bool isExportable() const; +    /*! Shorthand for isNull || isExpired || isInvalid */ +    bool isBad() const; +      const char *signerUserID() const;      const char *signerName() const;      const char *signerEmail() const; | 
