diff options
author | Chris Toshok <toshok@ximian.com> | 2003-11-12 10:07:25 +0800 |
---|---|---|
committer | Chris Toshok <toshok@src.gnome.org> | 2003-11-12 10:07:25 +0800 |
commit | 4e1bce59fa373fd302b994d495427109c9fff121 (patch) | |
tree | 0769e76165203f6ee8395589441a5053074e3ea5 /smime/lib/e-cert.h | |
parent | 747e7843d135ca6640db787819b2664fe97afdad (diff) | |
download | gsoc2013-evolution-4e1bce59fa373fd302b994d495427109c9fff121.tar.gz gsoc2013-evolution-4e1bce59fa373fd302b994d495427109c9fff121.tar.zst gsoc2013-evolution-4e1bce59fa373fd302b994d495427109c9fff121.zip |
don't init NSS here. it's done in e_cert_db_peek.
2003-11-11 Chris Toshok <toshok@ximian.com>
* tests/import-cert.c (main): don't init NSS here. it's done in
e_cert_db_peek.
* lib/Makefile.am (libessmime_la_SOURCES): add e-cert-db.[ch]
* gui/smime-ui.glade: set the initial sensitivity of the buttons
here, and add the beginnings of the CA import dialog (where you
assign trust levels to it.)
* gui/certificate-manager.c (handle_selection_changed):
sensitize/desensitize all the various buttons correctly when the
GtkTreeView's selection changes.
(yourcerts_selection_changed): new, selection change handler for
the Your Certs tab.
(initialize_yourcerts_ui): hook up the tree selection, and add a
model column for the ECert.
(contactcerts_selection_changed): new, selection change handler
for the Contact Certs tab.
(initialize_contactcerts_ui): hook up the tree selection, and add
a model column for the ECert.
(import_ca): new function.
(delete_ca): new function.
(authoritycerts_selection_changed): new, selection change handler
for the Authority Certs tab.
(create_authoritycerts_treemodel): new function for creating the
authority cert tree model. the other tabs will eventually use a
separate function for this too, as unload_certs gets fleshed out.
(initialize_authoritycerts_ui): hook up the tree selection, and
add import/delete buttons.
(destroy_key): dtor for the keys in our hashes.
(destroy_value): dtor for the values in our hashes.
(unload_certs): new function. basically destroy/recreate the
model and hash for the particular cert type/tab.
(load_certs): use e_cert_get_cert_type.
(populate_ui): use unload_certs as well as load_certs.
(certificate_manager_config_control_new): call e_cert_db_peek
,which will initialize all of NSS. hook up all the widgets from
libglade.
* lib/e-cert.h: add prototypes for all the new methods, and add
the ECertType enum.
* lib/e-cert.c (e_cert_dispose): handle deletion from the DB here.
(e_cert_new_from_der): new function.
(e_cert_get_internal_cert): new function.
(e_cert_get_raw_der): new function.
(e_cert_get_issuer_name): new
(e_cert_get_subject_name): new
(e_cert_mark_for_deletion): new
(e_cert_get_cert_type): new.
(e_cert_is_ca_cert): nuke.
* lib/e-cert-db.[ch]: new, partly implemented, derived from
mozilla's nsNSSCertificateDB code.
svn path=/trunk/; revision=23292
Diffstat (limited to 'smime/lib/e-cert.h')
-rw-r--r-- | smime/lib/e-cert.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/smime/lib/e-cert.h b/smime/lib/e-cert.h index 86517dad79..06b44f23ad 100644 --- a/smime/lib/e-cert.h +++ b/smime/lib/e-cert.h @@ -37,6 +37,13 @@ typedef struct _ECert ECert; typedef struct _ECertClass ECertClass; typedef struct _ECertPrivate ECertPrivate; +typedef enum { + E_CERT_CA, + E_CERT_CONTACT, + E_CERT_SITE, + E_CERT_USER +} ECertType; + struct _ECert { GObject parent; @@ -57,11 +64,20 @@ struct _ECertClass { GType e_cert_get_type (void); ECert* e_cert_new (CERTCertificate *cert); +ECert* e_cert_new_from_der (char *data, guint32 len); + +CERTCertificate* e_cert_get_internal_cert (ECert *cert); + +gboolean e_cert_get_raw_der (ECert *cert, char **data, guint32 *len); +const char* e_cert_get_nickname (ECert *cert); +const char* e_cert_get_email (ECert *cert); +const char* e_cert_get_org (ECert *cert); +const char* e_cert_get_cn (ECert *cert); +const char* e_cert_get_subject_name (ECert *cert); +const char* e_cert_get_issuer_name (ECert *cert); + +gboolean e_cert_mark_for_deletion (ECert *cert); -const char* e_cert_get_nickname (ECert *cert); -const char* e_cert_get_email (ECert *cert); -const char* e_cert_get_org (ECert *cert); -const char* e_cert_get_cn (ECert *cert); +ECertType e_cert_get_cert_type (ECert *cert); -gboolean e_cert_is_ca_cert (ECert *cert); #endif /* _E_CERT_H_ */ |