26
25
#include <lasso/xml/saml_authentication_statement.h>
29
The schema fragment (oasis-sstc-saml-schema-assertion-1.0.xsd):
31
<element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
32
<complexType name="AuthenticationStatementType">
34
<extension base="saml:SubjectStatementAbstractType">
36
<element ref="saml:SubjectLocality" minOccurs="0"/>
37
<element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
39
<attribute name="AuthenticationMethod" type="anyURI" use="required"/>
40
<attribute name="AuthenticationInstant" type="dateTime" use="required"/>
46
/*****************************************************************************/
48
/*****************************************************************************/
51
lasso_saml_authentication_statement_add_authorityBinding(LassoSamlAuthenticationStatement *node,
52
LassoSamlAuthorityBinding *authorityBinding)
54
LassoNodeClass *class;
55
g_assert(LASSO_IS_SAML_AUTHENTICATION_STATEMENT(node));
56
g_assert(LASSO_IS_SAML_AUTHORITY_BINDING(authorityBinding));
58
class = LASSO_NODE_GET_CLASS(node);
59
class->add_child(LASSO_NODE (node), LASSO_NODE(authorityBinding), TRUE);
63
lasso_saml_authentication_statement_set_authenticationInstant(LassoSamlAuthenticationStatement *node,
64
const xmlChar *authenticationInstant)
66
LassoNodeClass *class;
67
g_assert(LASSO_IS_SAML_AUTHENTICATION_STATEMENT(node));
68
g_assert(authenticationInstant != NULL);
70
class = LASSO_NODE_GET_CLASS(node);
71
class->set_prop(LASSO_NODE (node), "AuthenticationInstant", authenticationInstant);
75
lasso_saml_authentication_statement_set_authenticationMethod(LassoSamlAuthenticationStatement *node,
76
const xmlChar *authenticationMethod)
78
LassoNodeClass *class;
79
g_assert(LASSO_IS_SAML_AUTHENTICATION_STATEMENT(node));
80
g_assert(authenticationMethod != NULL);
82
class = LASSO_NODE_GET_CLASS(node);
83
class->set_prop(LASSO_NODE (node), "AuthenticationMethod", authenticationMethod);
87
lasso_saml_authentication_statement_set_subjectLocality(LassoSamlAuthenticationStatement *node,
88
LassoSamlSubjectLocality *subjectLocality)
90
LassoNodeClass *class;
91
g_assert(LASSO_IS_SAML_AUTHENTICATION_STATEMENT(node));
92
g_assert(LASSO_IS_SAML_SUBJECT_LOCALITY(subjectLocality));
94
class = LASSO_NODE_GET_CLASS(node);
95
class->add_child(LASSO_NODE (node), LASSO_NODE(subjectLocality), FALSE);
28
* Schema fragment (oasis-sstc-saml-schema-assertion-1.0.xsd):
30
* <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
31
* <complexType name="AuthenticationStatementType">
33
* <extension base="saml:SubjectStatementAbstractType">
35
* <element ref="saml:SubjectLocality" minOccurs="0"/>
36
* <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
38
* <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
39
* <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
45
/*****************************************************************************/
47
/*****************************************************************************/
49
static struct XmlSnippet schema_snippets[] = {
50
{ "SubjectLocality", SNIPPET_NODE,
51
G_STRUCT_OFFSET(LassoSamlAuthenticationStatement, SubjectLocality) },
52
{ "AuthorityBinding", SNIPPET_LIST_NODES,
53
G_STRUCT_OFFSET(LassoSamlAuthenticationStatement, AuthorityBinding) },
54
{ "AuthenticationMethod", SNIPPET_ATTRIBUTE,
55
G_STRUCT_OFFSET(LassoSamlAuthenticationStatement, AuthenticationMethod) },
56
{ "AuthenticationInstant", SNIPPET_ATTRIBUTE,
57
G_STRUCT_OFFSET(LassoSamlAuthenticationStatement, AuthenticationInstant) },
98
61
/*****************************************************************************/
99
62
/* instance and class init functions */
100
63
/*****************************************************************************/
103
lasso_saml_authentication_statement_instance_init(LassoSamlAuthenticationStatement *node)
66
instance_init(LassoSamlAuthenticationStatement *node)
105
LassoNodeClass *class = LASSO_NODE_GET_CLASS(LASSO_NODE(node));
107
/* namespace herited from SubjectStatementAbstract -> StatementAbstract */
108
class->set_name(LASSO_NODE(node), "AuthenticationStatement");
68
node->SubjectLocality = NULL;
69
node->AuthorityBinding = NULL;
70
node->AuthenticationMethod = NULL;
71
node->AuthenticationInstant = NULL;
112
lasso_saml_authentication_statement_class_init(LassoSamlAuthenticationStatementClass *klass)
75
class_init(LassoSamlAuthenticationStatementClass *klass)
77
LassoNodeClass *nclass = LASSO_NODE_CLASS(klass);
79
nclass->node_data = g_new0(LassoNodeClassData, 1);
80
lasso_node_class_set_nodename(nclass, "AuthenticationStatement");
81
lasso_node_class_set_ns(nclass, LASSO_SAML_ASSERTION_HREF, LASSO_SAML_ASSERTION_PREFIX);
82
lasso_node_class_add_snippets(nclass, schema_snippets);
116
GType lasso_saml_authentication_statement_get_type() {
117
static GType this_type = 0;
120
static const GTypeInfo this_info = {
121
sizeof (LassoSamlAuthenticationStatementClass),
124
(GClassInitFunc) lasso_saml_authentication_statement_class_init,
127
sizeof(LassoSamlAuthenticationStatement),
129
(GInstanceInitFunc) lasso_saml_authentication_statement_instance_init,
132
this_type = g_type_register_static(LASSO_TYPE_SAML_SUBJECT_STATEMENT_ABSTRACT,
133
"LassoSamlAuthenticationStatement",
86
lasso_saml_authentication_statement_get_type()
88
static GType this_type = 0;
91
static const GTypeInfo this_info = {
92
sizeof (LassoSamlAuthenticationStatementClass),
95
(GClassInitFunc) class_init,
98
sizeof(LassoSamlAuthenticationStatement),
100
(GInstanceInitFunc) instance_init,
103
this_type = g_type_register_static(LASSO_TYPE_SAML_SUBJECT_STATEMENT_ABSTRACT,
104
"LassoSamlAuthenticationStatement", &this_info, 0);
140
110
* lasso_saml_authentication_statement_new:
142
* Creates a new <saml:AuthenticationStatement> node object.
112
* Creates a new #LassoSamlAuthenticationStatement object.
144
* Return value: the new @LassoSamlAuthenticationStatement
114
* Return value: a newly created #LassoSamlAuthenticationStatement object
146
LassoNode* lasso_saml_authentication_statement_new()
117
lasso_saml_authentication_statement_new()
148
return LASSO_NODE(g_object_new(LASSO_TYPE_SAML_AUTHENTICATION_STATEMENT, NULL));
119
return g_object_new(LASSO_TYPE_SAML_AUTHENTICATION_STATEMENT, NULL);