new lasso_session_get_assertions, returns GList* of (incref'd) assertions

This commit is contained in:
Frédéric Péters 2005-01-26 10:05:45 +00:00
parent 88bbd4c1d8
commit e537d4ecf8
3 changed files with 26 additions and 2 deletions

View File

@ -75,6 +75,7 @@ lasso_session_new
lasso_session_new_from_dump
lasso_session_destroy
lasso_session_dump
lasso_session_get_assertions
lasso_session_get_provider_index
lasso_session_is_empty
<SUBSECTION Standard>

View File

@ -85,7 +85,6 @@ lasso_session_add_status(LassoSession *session, char *providerID, LassoSamlpStat
}
/**
* lasso_session_get_assertion
* @session: a #LassoSession
@ -103,6 +102,28 @@ lasso_session_get_assertion(LassoSession *session, gchar *providerID)
return g_hash_table_lookup(session->assertions, providerID);
}
/**
* lasso_session_get_assertions
* @session: a #LassoSession
* @provider_id: the provider ID
*
* Gets the assertions for the given @provider_id.
*
* Return value: a GList* of #LassoSamlAssertion. Caller must free the GList
* and the assertions it contains.
**/
GList*
lasso_session_get_assertions(LassoSession *session, const char *provider_id)
{
GList *r = NULL;
LassoSamlAssertion *assertion = g_hash_table_lookup(session->assertions, provider_id);
if (assertion)
r = g_list_append(r, g_object_ref(assertion));
return r;
}
/**
* lasso_session_get_status
* @session: a #LassoSession

View File

@ -47,7 +47,8 @@ typedef struct _LassoSessionPrivate LassoSessionPrivate;
struct _LassoSession {
LassoNode parent;
GHashTable *assertions; /* hash for assertions with remote providerID as key */
/*< public >*/
GHashTable *assertions;
gboolean is_dirty;
/*< private >*/
@ -65,6 +66,7 @@ LASSO_EXPORT LassoSession* lasso_session_new_from_dump(const gchar *dump);
LASSO_EXPORT gchar* lasso_session_dump(LassoSession *session);
LASSO_EXPORT void lasso_session_destroy(LassoSession *session);
LASSO_EXPORT GList* lasso_session_get_assertions(LassoSession *session, const char* provider_id);
LASSO_EXPORT gchar* lasso_session_get_provider_index(LassoSession *session, gint index);
LASSO_EXPORT gboolean lasso_session_is_empty(LassoSession *session);