diff options
Diffstat (limited to '')
-rw-r--r-- | gpgmeplug/cryptplug.h | 13 | ||||
-rw-r--r-- | gpgmeplug/gpgmeplug.c | 8 |
2 files changed, 19 insertions, 2 deletions
diff --git a/gpgmeplug/cryptplug.h b/gpgmeplug/cryptplug.h index c07f4cf8..03b1715b 100644 --- a/gpgmeplug/cryptplug.h +++ b/gpgmeplug/cryptplug.h @@ -301,6 +301,19 @@ typedef unsigned long SigStatusFlags; /*! \ingroup groupGeneral + \brief This function returns the version string of this cryptography + plug-in. + + If the plugins initialization fails the calling process might want + to display the library version number to the user for checking if + there is an old version of the library installed... + + \note This function <b>must</b> be implemented by each plug-in using + this API specification. +*/ +const char* libVersion( void ); + +/*! \ingroup groupGeneral \brief This function returns a URL to be used for reporting a bug that you found (or suspect, resp.) in this cryptography plug-in. diff --git a/gpgmeplug/gpgmeplug.c b/gpgmeplug/gpgmeplug.c index 217cca12..6d4c700c 100644 --- a/gpgmeplug/gpgmeplug.c +++ b/gpgmeplug/gpgmeplug.c @@ -192,6 +192,7 @@ typedef struct { bool certificateInChainExpiryNearWarning; int certificateInChainExpiryNearWarningInterval; bool receiverEmailAddressNotInCertificateWarning; + const char* libVersion; // a statically allocated string with the GPGME Version used } Config; @@ -243,8 +244,8 @@ bool initialize() config.certificateInChainExpiryNearWarning = true; config.certificateInChainExpiryNearWarningInterval = NEAR_EXPIRY; config.receiverEmailAddressNotInCertificateWarning = true; - - return true; + config.libVersion = gpgme_check_version (NULL); + return (gpgme_engine_check_version (GPGMEPLUG_PROTOCOL) == GPGME_No_Error); }; @@ -286,6 +287,9 @@ bool hasFeature( Feature flag ) } +const char* libVersion(){ return config.libVersion; } + + const char* bugURL(){ return config.bugURL; } |