diff options
| -rw-r--r-- | lasso/id-ff/identity.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/lasso/id-ff/identity.c b/lasso/id-ff/identity.c index e5b80043..d2133ba0 100644 --- a/lasso/id-ff/identity.c +++ b/lasso/id-ff/identity.c @@ -187,6 +187,23 @@ lasso_identity_get_federation(LassoIdentity *identity, g_return_val_if_fail(identity != NULL, NULL); g_return_val_if_fail(remote_providerID != NULL, NULL); + federation = lasso_identity_get_federation_ref(identity, remote_providerID); + if (federation != NULL) { + return lasso_federation_copy(federation); + } + + return NULL; +} + +LassoFederation* +lasso_identity_get_federation_ref(LassoIdentity *identity, + gchar *remote_providerID) +{ + LassoFederation *federation; + + g_return_val_if_fail(identity != NULL, NULL); + g_return_val_if_fail(remote_providerID != NULL, NULL); + federation = (LassoFederation *)g_hash_table_lookup(identity->federations, remote_providerID); if (federation == NULL) { @@ -194,7 +211,7 @@ lasso_identity_get_federation(LassoIdentity *identity, return NULL; } - return lasso_federation_copy(federation); + return federation; } gchar* |
