2009-11-10 Marcus Brinkmann <marcus@g10code.de>

* gpgme.c (gpgme_new): Set default sub protocol.
	* gpgme-tool.c: Implement get sub protocol.
This commit is contained in:
Marcus Brinkmann 2009-11-10 14:54:39 +00:00
parent cda07b9ab4
commit e88c7782bf
3 changed files with 20 additions and 4 deletions

View File

@ -1,5 +1,8 @@
2009-11-10 Marcus Brinkmann <marcus@g10code.de> 2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_new): Set default sub protocol.
* gpgme-tool.c: Implement get sub protocol.
* gpgme.h.in (gpgme_get_sub_protocol): Add prototype. * gpgme.h.in (gpgme_get_sub_protocol): Add prototype.
* gpgme.def, libgpgme.vers: Add gpgme_get_sub_protocol. * gpgme.def, libgpgme.vers: Add gpgme_get_sub_protocol.
* context.h (struct gpgme_context): New member sub_protocol. * context.h (struct gpgme_context): New member sub_protocol.

View File

@ -798,6 +798,18 @@ gt_set_protocol (gpgme_tool_t gt, gpgme_protocol_t proto)
} }
gpg_error_t
gt_get_protocol (gpgme_tool_t gt)
{
gpgme_protocol_t proto = gpgme_get_protocol (gt->ctx);
gt_write_status (gt, STATUS_PROTOCOL, gpgme_get_protocol_name (proto),
NULL);
return 0;
}
gpg_error_t gpg_error_t
gt_set_sub_protocol (gpgme_tool_t gt, gpgme_protocol_t proto) gt_set_sub_protocol (gpgme_tool_t gt, gpgme_protocol_t proto)
{ {
@ -806,9 +818,9 @@ gt_set_sub_protocol (gpgme_tool_t gt, gpgme_protocol_t proto)
gpg_error_t gpg_error_t
gt_get_protocol (gpgme_tool_t gt) gt_get_sub_protocol (gpgme_tool_t gt)
{ {
gpgme_protocol_t proto = gpgme_get_protocol (gt->ctx); gpgme_protocol_t proto = gpgme_get_sub_protocol (gt->ctx);
gt_write_status (gt, STATUS_PROTOCOL, gpgme_get_protocol_name (proto), gt_write_status (gt, STATUS_PROTOCOL, gpgme_get_protocol_name (proto),
NULL); NULL);
@ -1268,8 +1280,8 @@ cmd_sub_protocol (assuan_context_t ctx, char *line)
struct server *server = assuan_get_pointer (ctx); struct server *server = assuan_get_pointer (ctx);
if (line && *line) if (line && *line)
return gt_set_sub_protocol (server->gt, gt_protocol_from_name (line)); return gt_set_sub_protocol (server->gt, gt_protocol_from_name (line));
/* FIXME. */ else
return 0; return gt_get_sub_protocol (server->gt);
} }

View File

@ -77,6 +77,7 @@ gpgme_new (gpgme_ctx_t *r_ctx)
ctx->keylist_mode = GPGME_KEYLIST_MODE_LOCAL; ctx->keylist_mode = GPGME_KEYLIST_MODE_LOCAL;
ctx->include_certs = GPGME_INCLUDE_CERTS_DEFAULT; ctx->include_certs = GPGME_INCLUDE_CERTS_DEFAULT;
ctx->protocol = GPGME_PROTOCOL_OpenPGP; ctx->protocol = GPGME_PROTOCOL_OpenPGP;
ctx->sub_protocol = GPGME_PROTOCOL_DEFAULT;
_gpgme_fd_table_init (&ctx->fdt); _gpgme_fd_table_init (&ctx->fdt);
LOCK (def_lc_lock); LOCK (def_lc_lock);