| Lasso Reference Manual | ||||
|---|---|---|---|---|
#include <lasso/lasso.h>
LassoServer;
LassoServer* lasso_server_new (const gchar *metadata,
const gchar *private_key,
const gchar *private_key_password,
const gchar *certificate);
LassoServer* lasso_server_new_from_dump (const gchar *dump);
gint lasso_server_add_provider (LassoServer *server,
LassoProviderRole role,
const gchar *metadata,
const gchar *public_key,
const gchar *ca_cert_chain);
gint lasso_server_add_service (LassoServer *server,
LassoNode *service);
void lasso_server_destroy (LassoServer *server);
gchar * lasso_server_dump (LassoServer *server);
LassoProvider* lasso_server_get_provider (LassoServer *server,
const gchar *providerID);
LassoDiscoServiceInstance * lasso_server_get_service (LassoServer *server,
const gchar *serviceType);
It holds the data about a provider, other providers it knows, which certificates to use, etc.
typedef struct {
GHashTable *providers; /* of LassoProvider */
/* Can actually contain LassoDataService or LassoIdWsf2DataService or any subclass */
GHashTable *services; /* of LassoDataService */
gchar *private_key;
gchar *private_key_password;
gchar *certificate;
LassoSignatureMethod signature_method;
} LassoServer;
LassoServer* lasso_server_new (constgchar *metadata, constgchar *private_key, constgchar *private_key_password, constgchar *certificate);
Creates a new LassoServer.
metadata : |
path to the provider metadata file or NULL, for a LECP server |
private_key : |
path to the the server private key file or NULL |
private_key_password : |
password to private key if it is encrypted, or NULL |
certificate : |
path to the server certificate file, or NULL |
| Returns : | a newly created LassoServer object; or NULL if an error occured |
LassoServer* lasso_server_new_from_dump (constgchar *dump);
Restores the dump to a new LassoServer.
dump : |
XML server dump |
| Returns : | a newly created LassoServer; or NULL if an error occured |
gint lasso_server_add_provider (LassoServer *server, LassoProviderRole role, constgchar *metadata, constgchar *public_key, constgchar *ca_cert_chain);
Creates a new LassoProvider and makes it known to the server
server : |
a LassoServer |
role : |
provider role, identity provider or service provider |
metadata : |
path to the provider metadata file |
public_key : |
provider public key file (may be a certificate) or NULL |
ca_cert_chain : |
provider CA certificate chain file or NULL |
| Returns : | 0 on success; a negative value if an error occured. |
gint lasso_server_add_service (LassoServer *server, LassoNode *service);
...
server : |
a LassoServer |
service : |
|
| Returns : | 0 on success; a negative value if an error occured. |
void lasso_server_destroy (LassoServer *server);
Destroys a server.
server : |
a LassoServer |
gchar * lasso_server_dump (LassoServer *server);
Dumps server content to an XML string.
server : |
a LassoServer |
| Returns : | the dump string. It must be freed by the caller. |
LassoProvider* lasso_server_get_provider (LassoServer *server, constgchar *providerID);
Looks up for a LassoProvider whose ID is providerID and returns it.
server : |
a LassoServer |
providerID : |
the provider ID |
| Returns : | the LassoProvider, NULL if it was not found. The LassoProvider is owned by Lasso and should not be freed. |
LassoDiscoServiceInstance * lasso_server_get_service (LassoServer *server, constgchar *serviceType);
...
server : |
a LassoServer |
serviceType : |
|
| Returns : | the |