summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-31 16:22:12 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-31 16:22:12 +0000
commitfac7a1c2746ffa39cd549b7618654e457d286bd3 (patch)
tree52191442063808f248ae5a5d1585afe682c84ee3
parent202ff8f70746fe3c95b2b946771a7120caacd6c1 (diff)
downloadlasso-fac7a1c2746ffa39cd549b7618654e457d286bd3.tar.gz
lasso-fac7a1c2746ffa39cd549b7618654e457d286bd3.tar.xz
lasso-fac7a1c2746ffa39cd549b7618654e457d286bd3.zip
Added method lasso_session_get_first_providerID(). Now to get the first providerID use it instead of lasso_session_get_next_providerID()
-rw-r--r--lasso/id-ff/session.c25
-rw-r--r--lasso/id-ff/session.h2
2 files changed, 27 insertions, 0 deletions
diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c
index c7dd8644..f0bd343d 100644
--- a/lasso/id-ff/session.c
+++ b/lasso/id-ff/session.c
@@ -239,6 +239,25 @@ lasso_session_get_authentication_method(LassoSession *session,
}
gchar*
+lasso_session_get_first_providerID(LassoSession *session)
+{
+ gchar *providerID;
+
+ g_return_val_if_fail(session != NULL, NULL);
+
+ if(session->providerIDs->len == 0) {
+ return(NULL);
+ }
+
+ providerID = g_ptr_array_index(session->providerIDs, 0);
+ if (providerID == NULL) {
+ return(NULL);
+ }
+
+ return(g_strdup(providerID));
+}
+
+gchar*
lasso_session_get_next_providerID(LassoSession *session)
{
gchar *providerID;
@@ -253,9 +272,15 @@ lasso_session_get_next_providerID(LassoSession *session)
return(NULL);
}
+ if (session->index_providerID>=session->providerIDs->len) {
+ return (NULL);
+ }
+
/* get the next provider id and increments the index */
+ //printf("get provider id from %d\n", session->index_providerID);
providerID = g_strdup(g_ptr_array_index(session->providerIDs, session->index_providerID));
session->index_providerID++;
+ //printf("return provider id %s\n", providerID);
return(providerID);
}
diff --git a/lasso/id-ff/session.h b/lasso/id-ff/session.h
index 2a1488c3..0c063354 100644
--- a/lasso/id-ff/session.h
+++ b/lasso/id-ff/session.h
@@ -86,6 +86,8 @@ LASSO_EXPORT LassoNode* lasso_session_get_assertion (
LASSO_EXPORT gchar* lasso_session_get_authentication_method (LassoSession *session,
gchar *providerID);
+LASSO_EXPORT gchar* lasso_session_get_first_providerID (LassoSession *session);
+
LASSO_EXPORT gchar* lasso_session_get_next_providerID (LassoSession *session);
LASSO_EXPORT gint lasso_session_remove_assertion (LassoSession *session,