## LassoDiscoDescription

LassoDiscoDescription — <disco:DescriptionType>

## Functions

LassoDiscoDescription * | lasso_disco_description_copy ()
LassoDiscoDescription * | lasso_disco_description_new ()
LassoDiscoDescription * | lasso_disco_description_new_with_WsdlRef ()
LassoDiscoDescription * | lasso_disco_description_new_with_BriefSoapHttpDescription ()
gboolean | lasso_disco_description_has_saml_authentication ()
gboolean | lasso_disco_description_has_x509_authentication ()

## Types and Values

struct | LassoDiscoDescription

## Description

Figure 101. Schema fragment for disco:DescriptionType

    <xs:complexType name="DescriptionType">
      <xs:sequence>
        <xs:element name="SecurityMechID" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded"/>
        <xs:element name="CredentialRef" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
        <xs:choice>
          <xs:group ref="WsdlRef"/>
          <xs:group ref="BriefSoapHttpDescription"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID"/>
    </xs:complexType>

    <xs:group name="WsdlRef">
      <xs:sequence>
        <xs:element name="WsdlURI" type="xs:anyURI"/>
        <xs:element name="ServiceNameRef" type="xs:QName"/>
      </xs:sequence>
    </xs:group>

    <xs:group name="BriefSoapHttpDescription">
      <xs:sequence>
        <xs:element name="Endpoint" type="xs:anyURI"/>
        <xs:element name="SoapAction" type="xs:anyURI" minOccurs="0"/>
      </xs:sequence>
    </xs:group>

## Functions

### lasso_disco_description_copy ()

    LassoDiscoDescription *
    lasso_disco_description_copy (LassoDiscoDescription *description);

### lasso_disco_description_new ()

    LassoDiscoDescription *
    lasso_disco_description_new ();

### lasso_disco_description_new_with_WsdlRef ()

    LassoDiscoDescription *
    lasso_disco_description_new_with_WsdlRef
                                   (const gchar *securityMechID,
                                    const gchar *wsdlURI,
                                    const gchar *serviceNameRef);

### lasso_disco_description_new_with_BriefSoapHttpDescription ()

    LassoDiscoDescription *
    lasso_disco_description_new_with_BriefSoapHttpDescription
                                   (const gchar *securityMechID,
                                    const gchar *endpoint,
                                    const gchar *soapAction);

### lasso_disco_description_has_saml_authentication ()

    gboolean
    lasso_disco_description_has_saml_authentication
                                   (LassoDiscoDescription *description);

Checks if the given description supports any security mechanism using SAML authentication.

#### Parameters

profile | a LassoDiscoDescription |

#### Returns

`TRUE` if SAML is supported by the service description, FALSE if it is not supported of if description is not a valid LassoDiscoDescription.

### lasso_disco_description_has_x509_authentication ()

    gboolean
    lasso_disco_description_has_x509_authentication
                                   (LassoDiscoDescription *description);

Checks if the given description supports any security mechanism using X509 authentication.

#### Parameters

profile | a LassoDiscoDescription |

#### Returns

`TRUE` if X509 is supported by the service description, FALSE if it is not supported of if description is not a valid LassoDiscoDescription.

## Types and Values

### struct LassoDiscoDescription

    struct LassoDiscoDescription {
    	LassoNode parent;

    	/*
    	 * - The service instance description SHOULD list of all of the security mechanisms that
    	 *   the service instance supports.
    	 * - The client SHOULD pick the first mechanism (in the order listed) that it supports;
    	 *   the description SHOULD list them in order of preference, to avoid situations where the
    	 *   client fails to gain access to the service because it picked the wrong security
    	 *   mechanism.
    	 */
    	GList *SecurityMechID; /* of strings */
    	GList *CredentialRef; /* of strings */

    	/* WsdlRef group */
    	gchar *WsdlURI;
    	gchar *ServiceNameRef;

    	/* BriefSoapHttpDescription group */
    	gchar *Endpoint;
    	gchar *SoapAction;

    	char *id;
    };