26
25
#include <lasso/xml/lib_name_identifier_mapping_response.h>
29
The Schema fragment (liberty-idff-protocols-schema-v1.2.xsd):
31
<xs:element name="NameIdentifierMappingResponse" type="NameIdentifierMappingResponseType"/>
32
<xs:complexType name="NameIdentifierMappingResponseType">
34
<xs:extension base="samlp:ResponseAbstractType">
36
<xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
37
<xs:element ref="ProviderID"/>
38
<xs:element ref="samlp:Status"/>
39
<xs:element ref="saml:NameIdentifier" minOccurs="0"/>
47
/*****************************************************************************/
49
/*****************************************************************************/
51
void lasso_lib_name_identifier_mapping_response_set_nameIdentifier(LassoLibNameIdentifierMappingResponse *node,
52
LassoSamlNameIdentifier *nameIdentifier)
54
LassoNodeClass *class;
55
g_assert(LASSO_IS_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE(node));
56
g_assert(LASSO_IS_SAML_NAME_IDENTIFIER(nameIdentifier));
58
class = LASSO_NODE_GET_CLASS(node);
59
class->add_child(LASSO_NODE (node),
60
LASSO_NODE (nameIdentifier),
65
lasso_lib_name_identifier_mapping_response_set_providerID(LassoLibNameIdentifierMappingResponse *node,
66
const xmlChar *providerID)
68
LassoNodeClass *class;
69
g_assert(LASSO_IS_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE(node));
70
g_assert(providerID != NULL);
71
/* FIXME : providerID length SHOULD be <= 1024 */
73
class = LASSO_NODE_GET_CLASS(node);
74
class->new_child(LASSO_NODE (node), "ProviderID", providerID, FALSE);
77
void lasso_lib_name_identifier_mapping_response_set_status(LassoLibNameIdentifierMappingResponse *node,
78
LassoSamlpStatus *status)
80
LassoNodeClass *class;
81
g_assert(LASSO_IS_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE(node));
82
g_assert(LASSO_IS_SAMLP_STATUS(status));
84
class = LASSO_NODE_GET_CLASS(node);
85
class->add_child(LASSO_NODE (node), LASSO_NODE(status), FALSE);
28
* Schema fragment (liberty-idff-protocols-schema-v1.2.xsd):
30
* <xs:element name="NameIdentifierMappingResponse" type="NameIdentifierMappingResponseType"/>
31
* <xs:complexType name="NameIdentifierMappingResponseType">
33
* <xs:extension base="samlp:ResponseAbstractType">
35
* <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
36
* <xs:element ref="ProviderID"/>
37
* <xs:element ref="samlp:Status"/>
38
* <xs:element ref="saml:NameIdentifier" minOccurs="0"/>
41
* </xs:complexContent>
45
/*****************************************************************************/
47
/*****************************************************************************/
49
static struct XmlSnippet schema_snippets[] = {
50
{ "Extension", SNIPPET_EXTENSION,
51
G_STRUCT_OFFSET(LassoLibNameIdentifierMappingResponse, Extension) },
52
{ "ProviderID", SNIPPET_CONTENT,
53
G_STRUCT_OFFSET(LassoLibNameIdentifierMappingResponse, ProviderID) },
54
{ "Status", SNIPPET_NODE,
55
G_STRUCT_OFFSET(LassoLibNameIdentifierMappingResponse, Status) },
56
{ "NameIdentifier", SNIPPET_NODE,
57
G_STRUCT_OFFSET(LassoLibNameIdentifierMappingResponse, NameIdentifier) },
88
61
/*****************************************************************************/
89
62
/* instance and class init functions */
90
63
/*****************************************************************************/
93
lasso_lib_name_identifier_mapping_response_instance_init(LassoLibNameIdentifierMappingResponse *node)
66
instance_init(LassoLibNameIdentifierMappingResponse *node)
95
LassoNodeClass *class = LASSO_NODE_GET_CLASS(LASSO_NODE(node));
97
class->set_ns(LASSO_NODE(node), lassoLibHRef, lassoLibPrefix);
98
class->set_name(LASSO_NODE(node), "NameIdentifierMappingResponse");
68
node->Extension = NULL;
69
node->ProviderID = NULL;
71
node->NameIdentifier = NULL;
102
lasso_lib_name_identifier_mapping_response_class_init(LassoLibNameIdentifierMappingResponseClass *klass)
106
GType lasso_lib_name_identifier_mapping_response_get_type() {
107
static GType name_identifier_mapping_response_type = 0;
109
if (!name_identifier_mapping_response_type) {
110
static const GTypeInfo name_identifier_mapping_response_info = {
111
sizeof (LassoLibNameIdentifierMappingResponseClass),
114
(GClassInitFunc) lasso_lib_name_identifier_mapping_response_class_init,
117
sizeof(LassoLibNameIdentifierMappingResponse),
119
(GInstanceInitFunc) lasso_lib_name_identifier_mapping_response_instance_init,
122
name_identifier_mapping_response_type = g_type_register_static(LASSO_TYPE_SAMLP_RESPONSE_ABSTRACT,
123
"LassoLibNameIdentifierMappingResponse",
124
&name_identifier_mapping_response_info, 0);
126
return name_identifier_mapping_response_type;
129
LassoNode* lasso_lib_name_identifier_mapping_response_new()
131
return LASSO_NODE(g_object_new(LASSO_TYPE_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE, NULL));
75
class_init(LassoLibNameIdentifierMappingResponseClass *klass)
77
LassoNodeClass *nclass = LASSO_NODE_CLASS(klass);
79
nclass->node_data = g_new0(LassoNodeClassData, 1);
80
lasso_node_class_set_nodename(nclass, "NameIdentifierMappingResponse");
81
lasso_node_class_set_ns(nclass, LASSO_LIB_HREF, LASSO_LIB_PREFIX);
82
lasso_node_class_add_snippets(nclass, schema_snippets);
86
lasso_lib_name_identifier_mapping_response_get_type()
88
static GType name_identifier_mapping_response_type = 0;
90
if (!name_identifier_mapping_response_type) {
91
static const GTypeInfo name_identifier_mapping_response_info = {
92
sizeof (LassoLibNameIdentifierMappingResponseClass),
95
(GClassInitFunc) class_init,
98
sizeof(LassoLibNameIdentifierMappingResponse),
100
(GInstanceInitFunc) instance_init,
103
name_identifier_mapping_response_type = g_type_register_static
104
(LASSO_TYPE_SAMLP_RESPONSE_ABSTRACT,
105
"LassoLibNameIdentifierMappingResponse",
106
&name_identifier_mapping_response_info, 0);
108
return name_identifier_mapping_response_type;
112
* lasso_lib_name_identifier_mapping_response_new:
114
* Creates a new #LassoLibNameIdentifierMappingResponse object.
116
* Return value: a newly created #LassoLibNameIdentifierMappingResponse object
118
LassoSamlpResponseAbstract*
119
lasso_lib_name_identifier_mapping_response_new()
121
return g_object_new(LASSO_TYPE_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE, NULL);
126
* lasso_lib_name_identifier_mapping_response_new_full:
129
* @request: the request this is a response to
133
* Creates a new #LassoLibNameIdentifierMappingResponse object and initializes
134
* it with the parameters.
136
* Return value: a newly created #LassoLibNameIdentifierMappingResponse object
138
LassoSamlpResponseAbstract*
139
lasso_lib_name_identifier_mapping_response_new_full(char *providerID, const char *statusCodeValue,
140
LassoLibNameIdentifierMappingRequest *request,
141
LassoSignatureType sign_type, LassoSignatureMethod sign_method)
143
LassoLibNameIdentifierMappingResponse *response;
145
response = g_object_new(LASSO_TYPE_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE, NULL);
146
lasso_samlp_response_abstract_fill(
147
LASSO_SAMLP_RESPONSE_ABSTRACT(response),
148
LASSO_SAMLP_REQUEST_ABSTRACT(request)->RequestID,
149
request->ProviderID);
150
LASSO_SAMLP_RESPONSE_ABSTRACT(response)->sign_type = sign_type;
151
LASSO_SAMLP_RESPONSE_ABSTRACT(response)->sign_method = sign_method;
153
response->ProviderID = g_strdup(providerID);
154
response->Status = lasso_samlp_status_new();
155
response->Status->StatusCode = lasso_samlp_status_code_new();
156
response->Status->StatusCode->Value = g_strdup(statusCodeValue);
158
return LASSO_SAMLP_RESPONSE_ABSTRACT(response);