[gnome-keyring/dbus-api] [gck] Tweak authenticator enumerator to return boolean.



commit 7e690f38ee06b9f9b8b3dc9a38a7b6d9d5cd75f9
Author: Stef Walter <stef memberwebs com>
Date:   Sun Jul 19 17:39:56 2009 +0000

    [gck] Tweak authenticator enumerator to return boolean.
    
    gck_session_for_each_authenticator() now returns a boolean value
    if any of the callbacks returned successfully.

 pkcs11/gck/gck-session.c |   14 ++++++++------
 pkcs11/gck/gck-session.h |    2 +-
 2 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/pkcs11/gck/gck-session.c b/pkcs11/gck/gck-session.c
index 6c95535..2add459 100644
--- a/pkcs11/gck/gck-session.c
+++ b/pkcs11/gck/gck-session.c
@@ -697,7 +697,7 @@ gck_session_destroy_session_object (GckSession *self, GckTransaction *transactio
 	remove_object (self, transaction, obj);
 }
 
-void
+gboolean
 gck_session_for_each_authenticator (GckSession *self, GckObject *object,
                                     GckAuthenticatorFunc func, gpointer user_data)
 {
@@ -706,15 +706,15 @@ gck_session_for_each_authenticator (GckSession *self, GckObject *object,
 	CK_ATTRIBUTE attrs[2];
 	GList *results, *l;
 
-	g_return_if_fail (GCK_IS_SESSION (self));
-	g_return_if_fail (GCK_IS_OBJECT (object));
-	g_return_if_fail (func);
+	g_return_val_if_fail (GCK_IS_SESSION (self), FALSE);
+	g_return_val_if_fail (GCK_IS_OBJECT (object), FALSE);
+	g_return_val_if_fail (func, FALSE);
 
 	/* Do we have one right on the session */
 	if (self->pv->authenticator != NULL &&
 	    gck_authenticator_get_object (self->pv->authenticator) == object) {
 		if ((func) (self->pv->authenticator, object, user_data))
-			return;
+			return TRUE;
 	}
 
 	klass = CKO_GNOME_AUTHENTICATOR;
@@ -739,7 +739,7 @@ gck_session_for_each_authenticator (GckSession *self, GckObject *object,
 	g_list_free (results);
 
 	if (l != NULL)
-		return;
+		return TRUE;
 
 	/* Find any in the token */
 	results = gck_manager_find_by_attributes (gck_module_get_manager (self->pv->module), 
@@ -751,6 +751,8 @@ gck_session_for_each_authenticator (GckSession *self, GckObject *object,
 	}
 
 	g_list_free (results);
+	
+	return (l != NULL);
 }
 
 /* -----------------------------------------------------------------------------
diff --git a/pkcs11/gck/gck-session.h b/pkcs11/gck/gck-session.h
index 697e925..3e73780 100644
--- a/pkcs11/gck/gck-session.h
+++ b/pkcs11/gck/gck-session.h
@@ -96,7 +96,7 @@ void                     gck_session_destroy_session_object             (GckSess
                                                                          GckTransaction *transaction,
                                                                          GckObject *obj);
 
-void                     gck_session_for_each_authenticator             (GckSession *self,
+gboolean                 gck_session_for_each_authenticator             (GckSession *self,
                                                                          GckObject *object,
                                                                          GckAuthenticatorFunc func,
                                                                          gpointer user_data);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]