diff options
Diffstat (limited to 'src/gpgme.c')
| -rw-r--r-- | src/gpgme.c | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/src/gpgme.c b/src/gpgme.c index 70f93f1a..b6c79a0d 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -265,13 +265,14 @@ gpgme_set_protocol (gpgme_ctx_t ctx, gpgme_protocol_t protocol)  {    TRACE_BEG2 (DEBUG_CTX, "gpgme_set_protocol", ctx, "protocol=%i (%s)",  	      protocol, gpgme_get_protocol_name (protocol) -	      ? gpgme_get_protocol_name (protocol) : "unknown"); +	      ? gpgme_get_protocol_name (protocol) : "invalid");    if (protocol != GPGME_PROTOCOL_OpenPGP        && protocol != GPGME_PROTOCOL_CMS        && protocol != GPGME_PROTOCOL_GPGCONF        && protocol != GPGME_PROTOCOL_ASSUAN -      && protocol != GPGME_PROTOCOL_G13) +      && protocol != GPGME_PROTOCOL_G13 +      && protocol != GPGME_PROTOCOL_UISERVER)      return TRACE_ERR (gpg_error (GPG_ERR_INV_VALUE));    if (ctx->protocol != protocol) @@ -296,11 +297,24 @@ gpgme_get_protocol (gpgme_ctx_t ctx)    TRACE2 (DEBUG_CTX, "gpgme_get_protocol", ctx,  	  "ctx->protocol=%i (%s)", ctx->protocol,  	  gpgme_get_protocol_name (ctx->protocol) -	  ? gpgme_get_protocol_name (ctx->protocol) : "unknown"); +	  ? gpgme_get_protocol_name (ctx->protocol) : "invalid");    return ctx->protocol;  } +gpgme_error_t +gpgme_set_sub_protocol (gpgme_ctx_t ctx, gpgme_protocol_t protocol) +{ +  gpgme_error_t err; +  TRACE_BEG2 (DEBUG_CTX, "gpgme_set_sub_protocol", ctx, "protocol=%i (%s)", +	      protocol, gpgme_get_protocol_name (protocol) +	      ? gpgme_get_protocol_name (protocol) : "invalid"); + +  err = _gpgme_engine_set_protocol (ctx->engine, protocol); +  return TRACE_ERR (err); +} + +  const char *  gpgme_get_protocol_name (gpgme_protocol_t protocol)  { @@ -321,6 +335,12 @@ gpgme_get_protocol_name (gpgme_protocol_t protocol)      case GPGME_PROTOCOL_G13:        return "G13"; +    case GPGME_PROTOCOL_UISERVER: +      return "UIServer"; + +    case GPGME_PROTOCOL_DEFAULT: +      return "default"; +      case GPGME_PROTOCOL_UNKNOWN:        return "unknown"; | 
