diff options
author | Damien Laniel <dlaniel@entrouvert.com> | 2007-04-16 16:50:51 +0000 |
---|---|---|
committer | Damien Laniel <dlaniel@entrouvert.com> | 2007-04-16 16:50:51 +0000 |
commit | 486aadc8502b380ac29c02a479139c82acad4136 (patch) | |
tree | d9fdacbb0c2759b0ee761bcb45b763b17a50e6cc /lasso/xml/saml-2.0 | |
parent | 8ca25338df3f909c47a6ef3c3040497a1d390bff (diff) | |
download | lasso-486aadc8502b380ac29c02a479139c82acad4136.tar.gz lasso-486aadc8502b380ac29c02a479139c82acad4136.tar.xz lasso-486aadc8502b380ac29c02a479139c82acad4136.zip |
start writing an ID-WSF EPR in saml 2 assertions
Diffstat (limited to 'lasso/xml/saml-2.0')
-rw-r--r-- | lasso/xml/saml-2.0/saml2_attribute.c | 2 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/saml2_attribute.h | 2 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/saml2_attribute_value.c | 90 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/saml2_attribute_value.h | 68 |
4 files changed, 160 insertions, 2 deletions
diff --git a/lasso/xml/saml-2.0/saml2_attribute.c b/lasso/xml/saml-2.0/saml2_attribute.c index a43fe638..a7d833ee 100644 --- a/lasso/xml/saml-2.0/saml2_attribute.c +++ b/lasso/xml/saml-2.0/saml2_attribute.c @@ -44,7 +44,7 @@ static struct XmlSnippet schema_snippets[] = { - { "AttributeValue", SNIPPET_NODE, + { "AttributeValue", SNIPPET_LIST_NODES, G_STRUCT_OFFSET(LassoSaml2Attribute, AttributeValue) }, { "Name", SNIPPET_ATTRIBUTE, G_STRUCT_OFFSET(LassoSaml2Attribute, Name) }, diff --git a/lasso/xml/saml-2.0/saml2_attribute.h b/lasso/xml/saml-2.0/saml2_attribute.h index 3b2dcbb9..f784e7b0 100644 --- a/lasso/xml/saml-2.0/saml2_attribute.h +++ b/lasso/xml/saml-2.0/saml2_attribute.h @@ -55,7 +55,7 @@ struct _LassoSaml2Attribute { /*< public >*/ /* elements */ - /* XXX */ void *AttributeValue; + GList *AttributeValue; /* attributes */ char *Name; char *NameFormat; diff --git a/lasso/xml/saml-2.0/saml2_attribute_value.c b/lasso/xml/saml-2.0/saml2_attribute_value.c new file mode 100644 index 00000000..79fceccc --- /dev/null +++ b/lasso/xml/saml-2.0/saml2_attribute_value.c @@ -0,0 +1,90 @@ +/* $Id: saml2_attribute_value.c 2820 2006-10-09 10:09:25Z dlaniel $ + * + * Lasso - A free implementation of the Samlerty Alliance specifications. + * + * Copyright (C) 2007 Entr'ouvert + * http://lasso.entrouvert.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <lasso/xml/saml-2.0/saml2_attribute_value.h> + +/* + * The schema fragment (saml-schema-assertion-2.0.xsd): + * + * <element name="AttributeValue" type="anyType" nillable="true"/> + */ + +/*****************************************************************************/ +/* private methods */ +/*****************************************************************************/ + +static struct XmlSnippet schema_snippets[] = { + { "", SNIPPET_LIST_NODES, G_STRUCT_OFFSET(LassoSaml2AttributeValue, any) }, + { NULL, 0, 0 } +}; + +/*****************************************************************************/ +/* instance and class init functions */ +/*****************************************************************************/ + +static void +instance_init(LassoSaml2AttributeValue *node) +{ + node->any = NULL; +} + +static void +class_init(LassoSaml2AttributeValueClass *klass) +{ + LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); + + nclass->node_data = g_new0(LassoNodeClassData, 1); + lasso_node_class_set_nodename(nclass, "AttributeValue"); + lasso_node_class_set_ns(nclass, LASSO_SAML2_ASSERTION_HREF, LASSO_SAML2_ASSERTION_PREFIX); + lasso_node_class_add_snippets(nclass, schema_snippets); +} + +GType +lasso_saml2_attribute_value_get_type() +{ + static GType this_type = 0; + + if (!this_type) { + static const GTypeInfo this_info = { + sizeof (LassoSaml2AttributeValueClass), + NULL, + NULL, + (GClassInitFunc) class_init, + NULL, + NULL, + sizeof(LassoSaml2AttributeValue), + 0, + (GInstanceInitFunc) instance_init, + }; + + this_type = g_type_register_static(LASSO_TYPE_NODE, + "LassoSaml2AttributeValue", + &this_info, 0); + } + return this_type; +} + +LassoSaml2AttributeValue* +lasso_saml2_attribute_value_new() +{ + return g_object_new(LASSO_TYPE_SAML2_ATTRIBUTE_VALUE, NULL); +} diff --git a/lasso/xml/saml-2.0/saml2_attribute_value.h b/lasso/xml/saml-2.0/saml2_attribute_value.h new file mode 100644 index 00000000..196eee00 --- /dev/null +++ b/lasso/xml/saml-2.0/saml2_attribute_value.h @@ -0,0 +1,68 @@ +/* $Id: saml2_attribute_value.h 2261 2005-01-27 23:41:05Z dlaniel $ + * + * Lasso - A free implementation of the Liberty Alliance specifications. + * + * Copyright (C) 2007 Entr'ouvert + * http://lasso.entrouvert.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __LASSO_SAML2_ATTRIBUTE_VALUE_H__ +#define __LASSO_SAML2_ATTRIBUTE_VALUE_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include <lasso/xml/xml.h> + +#define LASSO_TYPE_SAML2_ATTRIBUTE_VALUE (lasso_saml2_attribute_value_get_type()) +#define LASSO_SAML2_ATTRIBUTE_VALUE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), LASSO_TYPE_SAML2_ATTRIBUTE_VALUE, \ + LassoSaml2AttributeValue)) +#define LASSO_SAML2_ATTRIBUTE_VALUE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), LASSO_TYPE_SAML2_ATTRIBUTE_VALUE, \ + LassoSaml2AttributeValueClass)) +#define LASSO_IS_SAML2_ATTRIBUTE_VALUE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), LASSO_TYPE_SAML2_ATTRIBUTE_VALUE)) +#define LASSO_IS_SAML2_ATTRIBUTE_VALUE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LASSO_TYPE_SAML2_ATTRIBUTE_VALUE)) +#define LASSO_SAML2_ATTRIBUTE_VALUE_GET_CLASS(o) \ + (G_TYPE_INSTANCE_GET_CLASS ((o), LASSO_TYPE_SAML2_ATTRIBUTE_VALUE, \ + LassoSaml2AttributeValueClass)) + +typedef struct _LassoSaml2AttributeValue LassoSaml2AttributeValue; +typedef struct _LassoSaml2AttributeValueClass LassoSaml2AttributeValueClass; + +struct _LassoSaml2AttributeValue { + LassoNode parent; + + /*< public >*/ + GList *any; +}; + +struct _LassoSaml2AttributeValueClass { + LassoNodeClass parent; +}; + +LASSO_EXPORT GType lasso_saml2_attribute_value_get_type(void); +LASSO_EXPORT LassoSaml2AttributeValue* lasso_saml2_attribute_value_new(void); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __LASSO_SAML2_ATTRIBUTE_VALUE_H__ */ |