# HG changeset patch # User William Ehlhardt # Date 1182385711 0 # Node ID 8c4d52bc0319e0533e540f064aa571c56fa64438 # Parent 3298421a330eb9d61bd5273f7ba3df1a9b353c0a - Add unregister_scheme diff -r 3298421a330e -r 8c4d52bc0319 libpurple/certificate.c --- a/libpurple/certificate.c Wed Jun 20 22:42:47 2007 +0000 +++ b/libpurple/certificate.c Thu Jun 21 00:28:31 2007 +0000 @@ -77,3 +77,19 @@ /* TODO: Signalling and such? */ return TRUE; } + +gboolean +purple_certificate_unregister_scheme(PurpleCertificateScheme *scheme) +{ + if (NULL == scheme) { + purple_debug_warning("certificate", + "Attempting to unregister NULL scheme"); + } + + /* TODO: signalling? */ + + /* TODO: unregister all CertificatePools for this scheme! */ + cert_schemes = g_list_remove(cert_schemes, scheme); + + return TRUE; +} diff -r 3298421a330e -r 8c4d52bc0319 libpurple/certificate.h --- a/libpurple/certificate.h Wed Jun 20 22:42:47 2007 +0000 +++ b/libpurple/certificate.h Thu Jun 21 00:28:31 2007 +0000 @@ -119,6 +119,16 @@ gboolean purple_certificate_register_scheme(PurpleCertificateScheme *scheme); +/** Unregister a CertificateScheme from libpurple + * + * @param scheme Scheme to unregister. + * If the scheme is not registered, this is a no-op. + * + * @return TRUE if the unregister completed successfully + */ +gboolean +purple_certificate_unregister_scheme(PurpleCertificateScheme *scheme); + /* TODO: ADD STUFF HERE */ /*@}*/