summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-12-01 18:44:42 +0100
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-12-05 12:03:12 +0100
commit5c2fc3b5dcbfb8d0753bef84c3861a3d29f02608 (patch)
treeb69b61c83812c02b75e500c3191ce3a932932b71
parent10edf69bfc0a88df2d7f83c0bb45f0967f9fa3b9 (diff)
downloadlasso-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.c22
-rw-r--r--lasso/id-ff/server.h2
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 */