diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-12-01 18:44:42 +0100 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-12-05 12:03:12 +0100 |
| commit | 5c2fc3b5dcbfb8d0753bef84c3861a3d29f02608 (patch) | |
| tree | b69b61c83812c02b75e500c3191ce3a932932b71 | |
| parent | 10edf69bfc0a88df2d7f83c0bb45f0967f9fa3b9 (diff) | |
| download | lasso-5c2fc3b5dcbfb8d0753bef84c3861a3d29f02608.tar.gz lasso-5c2fc3b5dcbfb8d0753bef84c3861a3d29f02608.tar.xz lasso-5c2fc3b5dcbfb8d0753bef84c3861a3d29f02608.zip | |
[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.
| -rw-r--r-- | lasso/id-ff/server.c | 22 | ||||
| -rw-r--r-- | lasso/id-ff/server.h | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 9d3b7365..f865c92f 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -105,6 +105,28 @@ lasso_server_add_provider(LassoServer *server, LassoProviderRole role, } /** + * 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 * @role: provider role, identity provider or service provider diff --git a/lasso/id-ff/server.h b/lasso/id-ff/server.h index a1905948..e13db433 100644 --- a/lasso/id-ff/server.h +++ b/lasso/id-ff/server.h @@ -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 */ |
