diff options
author | Werner Koch <[email protected]> | 2004-04-26 18:28:06 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2004-04-26 18:28:06 +0000 |
commit | 869a2bbad2f76153d953aeaaec5e3f0dd31d82f6 (patch) | |
tree | 14d848f06d2c148fc1e678b61e2a1d8dd8e65645 /scd/app-common.h | |
parent | (change_name): Check that the NAME is not too long. (diff) | |
download | gnupg-869a2bbad2f76153d953aeaaec5e3f0dd31d82f6.tar.gz gnupg-869a2bbad2f76153d953aeaaec5e3f0dd31d82f6.zip |
* app-common.h: New members FNC.DEINIT and APP_LOCAL.
* app.c (release_application): Call new deconstructor.
* app-openpgp.c (do_deinit): New.
(get_cached_data, flush_cache_item, flush_cache_after_error)
(flush_cache): New.
(get_one_do): Replaced arg SLOT by APP. Make used of cached data.
(verify_chv2, verify_chv3): Flush some cache item after error.
(do_change_pin): Ditto.
(do_sign): Ditto.
(do_setattr): Flush cache item.
(do_genkey): Flush the entire cache.
(compare_fingerprint): Use cached data.
Diffstat (limited to '')
-rw-r--r-- | scd/app-common.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/scd/app-common.h b/scd/app-common.h index c16a15719..6e62bf99d 100644 --- a/scd/app-common.h +++ b/scd/app-common.h @@ -23,6 +23,8 @@ #include <ksba.h> +struct app_local_s; /* Defined by all app-*.c. */ + struct app_ctx_s { int initialized; /* The application has been initialied and the function pointers may be used. Note that for @@ -37,7 +39,9 @@ struct app_ctx_s { int force_chv1; /* True if the card does not cache CHV1. */ int did_chv2; int did_chv3; + struct app_local_s *app_local; /* Local to the application. */ struct { + void (*deinit) (app_t app); int (*learn_status) (app_t app, ctrl_t ctrl); int (*readcert) (app_t app, const char *certid, unsigned char **cert, size_t *certlen); @@ -75,7 +79,6 @@ struct app_ctx_s { void *pincb_arg); } fnc; - }; #if GNUPG_MAJOR_VERSION == 1 |