aboutsummaryrefslogtreecommitdiffstats
path: root/smime/lib/e-cert.h
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2003-11-12 10:07:25 +0800
committerChris Toshok <toshok@src.gnome.org>2003-11-12 10:07:25 +0800
commit4e1bce59fa373fd302b994d495427109c9fff121 (patch)
tree0769e76165203f6ee8395589441a5053074e3ea5 /smime/lib/e-cert.h
parent747e7843d135ca6640db787819b2664fe97afdad (diff)
downloadgsoc2013-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.h26
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_ */