cpp: Add some convenience functions
* lang/cpp/src/context.cpp (Context::create): New. * lang/cpp/src/context.h: Update accordingly. * lang/cpp/src/key.cpp, lang/cpp/src/key.h: (Key::isBad, Subkey::isBad, UserID::isBad) (UserID::Signature::isBad): Add shorthand for the isX checks. * NEWS: Mention it. -- I don't know how often I wrote: if (key.isNull() || key.isExpired() || key.isRevoked() ... And for the context it is good practice to use a unique ptr so the API should make it easy.
This commit is contained in:
parent
04791c8967
commit
05a0e97f5c
8
NEWS
8
NEWS
@ -1,6 +1,14 @@
|
|||||||
Noteworthy changes in version 1.12.1 (unreleased)
|
Noteworthy changes in version 1.12.1 (unreleased)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
* Interface changes relative to the 1.12.0 release:
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
cpp: Context::create NEW.
|
||||||
|
cpp: Key::isBad NEW.
|
||||||
|
cpp: Subkey::isBad NEW.
|
||||||
|
cpp: UserID::isBad NEW.
|
||||||
|
cpp: UserID::Signature::isBad NEW.
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 1.12.0 (2018-10-08)
|
Noteworthy changes in version 1.12.0 (2018-10-08)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
@ -228,6 +228,11 @@ Context *Context::createForProtocol(Protocol proto)
|
|||||||
return new Context(ctx);
|
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)
|
std::unique_ptr<Context> Context::createForEngine(Engine eng, Error *error)
|
||||||
{
|
{
|
||||||
gpgme_ctx_t ctx = 0;
|
gpgme_ctx_t ctx = 0;
|
||||||
|
@ -68,6 +68,8 @@ public:
|
|||||||
//
|
//
|
||||||
|
|
||||||
static Context *createForProtocol(Protocol proto);
|
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);
|
static std::unique_ptr<Context> createForEngine(Engine engine, Error *err = 0);
|
||||||
virtual ~Context();
|
virtual ~Context();
|
||||||
|
|
||||||
|
@ -1033,6 +1033,26 @@ time_t Key::lastUpdate() const
|
|||||||
return static_cast<time_t>(key ? key->last_update : 0);
|
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)
|
std::ostream &operator<<(std::ostream &os, const UserID &uid)
|
||||||
{
|
{
|
||||||
os << "GpgME::UserID(";
|
os << "GpgME::UserID(";
|
||||||
|
@ -98,6 +98,10 @@ public:
|
|||||||
bool isDisabled() const;
|
bool isDisabled() const;
|
||||||
bool isInvalid() const;
|
bool isInvalid() const;
|
||||||
|
|
||||||
|
/*! Shorthand for isNull || isRevoked || isExpired ||
|
||||||
|
* isDisabled || isInvalid */
|
||||||
|
bool isBad() const;
|
||||||
|
|
||||||
bool canEncrypt() const;
|
bool canEncrypt() const;
|
||||||
/*!
|
/*!
|
||||||
This function contains a workaround for old gpgme's: all secret
|
This function contains a workaround for old gpgme's: all secret
|
||||||
@ -250,6 +254,10 @@ public:
|
|||||||
bool isInvalid() const;
|
bool isInvalid() const;
|
||||||
bool isDisabled() const;
|
bool isDisabled() const;
|
||||||
|
|
||||||
|
/*! Shorthand for isNull || isRevoked || isExpired ||
|
||||||
|
* isDisabled || isInvalid */
|
||||||
|
bool isBad() const;
|
||||||
|
|
||||||
bool canEncrypt() const;
|
bool canEncrypt() const;
|
||||||
bool canSign() const;
|
bool canSign() const;
|
||||||
bool canCertify() const;
|
bool canCertify() const;
|
||||||
@ -366,6 +374,9 @@ public:
|
|||||||
bool isRevoked() const;
|
bool isRevoked() const;
|
||||||
bool isInvalid() const;
|
bool isInvalid() const;
|
||||||
|
|
||||||
|
/*! Shorthand for isNull || isRevoked || isInvalid */
|
||||||
|
bool isBad() const;
|
||||||
|
|
||||||
/** TOFU info for this userid.
|
/** TOFU info for this userid.
|
||||||
* @returns The TOFU stats or a null TofuInfo.
|
* @returns The TOFU stats or a null TofuInfo.
|
||||||
*/
|
*/
|
||||||
@ -454,6 +465,9 @@ public:
|
|||||||
bool isExpired() const;
|
bool isExpired() const;
|
||||||
bool isExportable() const;
|
bool isExportable() const;
|
||||||
|
|
||||||
|
/*! Shorthand for isNull || isExpired || isInvalid */
|
||||||
|
bool isBad() const;
|
||||||
|
|
||||||
const char *signerUserID() const;
|
const char *signerUserID() const;
|
||||||
const char *signerName() const;
|
const char *signerName() const;
|
||||||
const char *signerEmail() const;
|
const char *signerEmail() const;
|
||||||
|
Loading…
Reference in New Issue
Block a user