libpurple/certificate.c

branch
soc.2007.certmgr
changeset 18894
1a00d2309d39
parent 18818
6460aa4cfa41
child 18896
70742468a820
--- a/libpurple/certificate.c	Fri Jul 27 04:38:56 2007 +0000
+++ b/libpurple/certificate.c	Fri Jul 27 06:56:00 2007 +0000
@@ -32,6 +32,7 @@
 #include "debug.h"
 #include "internal.h"
 #include "request.h"
+#include "signals.h"
 #include "util.h"
 
 /** List holding pointers to all registered certificate schemes */
@@ -1013,6 +1014,26 @@
 		/* Register the Pool */
 		cert_pools = g_list_prepend(cert_pools, pool);
 
+		/* TODO: Emit a signal that the pool got registered */
+
+		purple_signal_register(pool, /* Signals emitted from pool */
+				       "certificate-stored",
+				       purple_marshal_VOID__POINTER_POINTER,
+				       NULL, /* No callback return value */
+				       2,    /* Two non-data arguments */
+				       purple_value_new(PURPLE_TYPE_SUBTYPE,
+							PURPLE_SUBTYPE_CERTIFICATEPOOL),
+				       purple_value_new(PURPLE_TYPE_STRING));
+
+		purple_signal_register(pool, /* Signals emitted from pool */
+				       "certificate-deleted",
+				       purple_marshal_VOID__POINTER_POINTER,
+				       NULL, /* No callback return value */
+				       2,    /* Two non-data arguments */
+				       purple_value_new(PURPLE_TYPE_SUBTYPE,
+							PURPLE_SUBTYPE_CERTIFICATEPOOL),
+				       purple_value_new(PURPLE_TYPE_STRING));
+		
 		return TRUE;
 	} else {
 		return FALSE;
@@ -1047,6 +1068,8 @@
 	cert_pools = g_list_remove(cert_pools, pool);
 	
 	/* TODO: Signalling? */
+	purple_signal_unregister(pool, "certificate-stored");
+	purple_signal_unregister(pool, "certificate-deleted");
 		
 	return TRUE;
 }

mercurial