## LassoIdentity

LassoIdentity — Principal identity

## Functions

LassoIdentity * | lasso_identity_new ()
LassoIdentity * | lasso_identity_new_from_dump ()
LassoFederation * | lasso_identity_get_federation ()
void | lasso_identity_destroy ()
gchar * | lasso_identity_dump ()

## Types and Values

struct | LassoIdentity

## Description

A LassoIdentity object records the identifers that a principal use two federate pairs of providers.

## Functions

### lasso_identity_new ()

    LassoIdentity *
    lasso_identity_new (void);

Creates a new LassoIdentity.

#### Returns

a newly created LassoIdentity

### lasso_identity_new_from_dump ()

    LassoIdentity *
    lasso_identity_new_from_dump (const gchar *dump);

Restores the `dump` to a new LassoIdentity.

#### Parameters

dump | XML server dump |

#### Returns

a newly created LassoIdentity; or NULL if an error occured

### lasso_identity_get_federation ()

    LassoFederation *
    lasso_identity_get_federation (LassoIdentity *identity,
                                   const char *providerID);

Looks up and returns the LassoFederation for this provider ID.

#### Parameters

identity | a LassoIdentity |
providerID | the provider ID |

#### Returns

the LassoFederation; or NULL if it didn't exist. The LassoFederation is internally allocated. It must not be freed, modified or stored.

[transfer none]

### lasso_identity_destroy ()

    void
    lasso_identity_destroy (LassoIdentity *identity);

Destroys an identity.

#### Parameters

identity | a LassoIdentity |

### lasso_identity_dump ()

    gchar *
    lasso_identity_dump (LassoIdentity *identity);

Dumps `identity` content to an XML string.

#### Parameters

identity | a LassoIdentity |

#### Returns

the dump string. It must be freed by the caller.

[transfer full]

## Types and Values

### struct LassoIdentity

    struct LassoIdentity {
    	LassoNode parent;

    	GHashTable *federations; /* of LassoFederation */
    	gboolean is_dirty;
    };