[id-ff/saml2] add a lasso_server_add_provider2

It allows to add LassoProvider objects directly to a LassoServer object,
without using the metadata loading methods.
This commit is contained in:
Benjamin Dauvergne 2011-12-01 18:44:42 +01:00
parent 10edf69bfc
commit 5c2fc3b5dc
2 changed files with 24 additions and 0 deletions

View File

@ -104,6 +104,28 @@ lasso_server_add_provider(LassoServer *server, LassoProviderRole role,
public_key, ca_cert_chain, lasso_provider_new);
}
/**
* lasso_server_add_provider2:
* @server: a #LassoServer object
* @provider: a #LassoProvider object
*
* Add @provider to the list of known providers object of @server.
*
* Return 0 if successful, LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ otherwise.
*/
lasso_error_t
lasso_server_add_provider2(LassoServer *server, LassoProvider *provider)
{
lasso_bad_param(SERVER, server);
lasso_bad_param(PROVIDER, provider);
g_return_val_if_fail(provider->ProviderID, LASSO_PARAM_ERROR_NON_INITIALIZED_OBJECT);
g_return_val_if_fail(server->providers, LASSO_PARAM_ERROR_NON_INITIALIZED_OBJECT);
g_hash_table_insert(server->providers, g_strdup(provider->ProviderID), provider);
return 0;
}
/**
* lasso_server_add_provider_from_buffer:
* @server: a #LassoServer

View File

@ -126,6 +126,8 @@ LASSO_EXPORT lasso_error_t lasso_server_load_metadata(LassoServer *server, Lasso
*blacklisted_entity_ids, GList **loaded_entity_ids,
LassoServerLoadMetadataFlag flags);
LASSO_EXPORT lasso_error_t lasso_server_add_provider2(LassoServer *server, LassoProvider *provider);
#ifdef __cplusplus
}
#endif /* __cplusplus */