cpp: Add shorthand for key locate
* lang/cpp/src/key.cpp (Key::locate): New static helper. * lang/cpp/src/key.h: Update accordingly.
This commit is contained in:
parent
3224d7f0ea
commit
7f9d5c6cd2
6
NEWS
6
NEWS
@ -1,6 +1,12 @@
|
|||||||
Noteworthy changes in version 1.10.1 (unreleased)
|
Noteworthy changes in version 1.10.1 (unreleased)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
* Interface changes relative to the 1.10.0 release:
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
cpp: Key::locate NEW.
|
||||||
|
cpp: Data::toString NEW.
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 1.10.0 (2017-12-12)
|
Noteworthy changes in version 1.10.0 (2017-12-12)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
@ -371,6 +371,27 @@ void Key::update()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
Key Key::locate(const char *mbox)
|
||||||
|
{
|
||||||
|
if (!mbox) {
|
||||||
|
return Key();
|
||||||
|
}
|
||||||
|
|
||||||
|
auto ctx = Context::createForProtocol(OpenPGP);
|
||||||
|
if (!ctx) {
|
||||||
|
return Key();
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx->setKeyListMode (Extern | Local);
|
||||||
|
|
||||||
|
Error e = ctx->startKeyListing (mbox);
|
||||||
|
auto ret = ctx->nextKey (e);
|
||||||
|
delete ctx;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// class Subkey
|
// class Subkey
|
||||||
|
@ -164,6 +164,20 @@ public:
|
|||||||
* @returns a possible error.
|
* @returns a possible error.
|
||||||
**/
|
**/
|
||||||
Error addUid(const char *uid);
|
Error addUid(const char *uid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief try to locate the best pgp key for a given mailbox.
|
||||||
|
*
|
||||||
|
* Boils down to gpg --locate-key <mbox>
|
||||||
|
* This may take some time if remote sources are also
|
||||||
|
* used.
|
||||||
|
*
|
||||||
|
* @param mbox should be a mail address does not need to be normalized.
|
||||||
|
*
|
||||||
|
* @returns The best key for a mailbox or a null key.
|
||||||
|
*/
|
||||||
|
static Key locate(const char *mbox);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
gpgme_key_t impl() const
|
gpgme_key_t impl() const
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user