#include <saml/exceptions.h>
#include <saml/util/SAMLConstants.h>
+#include <xmltooling/AttributeExtensibleXMLObject.h>
#include <xmltooling/ElementProxy.h>
#include <xmltooling/SimpleElement.h>
#include <xmltooling/XMLObjectBuilder.h>
*/
namespace saml1 {
+ // Forward references
class SAML_API Assertion;
DECL_XMLOBJECT_SIMPLE(SAML_API,AssertionIDReference,Reference,SAML 1.x AssertionIDReference element);
BEGIN_XMLOBJECT(SAML_API,NameIdentifier,xmltooling::SimpleElement,SAML 1.x NameIdentifier element);
DECL_STRING_ATTRIB(NameQualifier,NAMEQUALIFIER);
DECL_STRING_ATTRIB(Format,FORMAT);
+ DECL_XMLOBJECT_CONTENT(Name);
/** NameIdentifierType local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
- BEGIN_XMLOBJECT(SAML_API,SubjectConfirmationData,xmltooling::ElementProxy,SAML 1.x SubjectConfirmationData element);
- END_XMLOBJECT;
+ /** SAML 1.x SubjectConfirmationData element */
+ class SAML_API SubjectConfirmationData : public virtual xmltooling::ElementProxy,
+ public virtual xmltooling::AttributeExtensibleXMLObject,
+ public virtual xmltooling::ValidatingXMLObject
+ {
+ protected:
+ SubjectConfirmationData() {}
+ public:
+ virtual ~SubjectConfirmationData() {}
+ /** Type-specific clone method. */
+ virtual SubjectConfirmationData* cloneSubjectConfirmationData() const=0;
+ /** Element local name. */
+ static const XMLCh LOCAL_NAME[];
+ };
BEGIN_XMLOBJECT(SAML_API,SubjectConfirmation,xmltooling::XMLObject,SAML 1.x SubjectConfirmation element);
DECL_TYPED_CHILDREN(ConfirmationMethod);
BEGIN_XMLOBJECT(SAML_API,SubjectLocality,xmltooling::XMLObject,SAML 1.x SubjectLocality element);
DECL_STRING_ATTRIB(IPAddress,IPADDRESS);
DECL_STRING_ATTRIB(DNSAddress,DNSADDRESS);
- /** SubjectLocality local name */
+ /** SubjectLocalityType local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
DECL_XMLOBJECT_ATTRIB(AuthorityKind,AUTHORITYKIND,xmltooling::QName);
DECL_STRING_ATTRIB(Location,LOCATION);
DECL_STRING_ATTRIB(Binding,BINDING);
- /** AuthorityBinding local name */
+ /** AuthorityBindingType local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
DECL_DATETIME_ATTRIB(AuthenticationInstant,AUTHENTICATIONINSTANT);
DECL_TYPED_CHILD(SubjectLocality);
DECL_TYPED_CHILDREN(AuthorityBinding);
- /** AuthenticationStatement local name */
+ /** AuthenticationStatementType local name */
+ static const XMLCh TYPE_NAME[];
+ END_XMLOBJECT;
+
+ BEGIN_XMLOBJECT(SAML_API,Action,xmltooling::SimpleElement,SAML 1.x Action element);
+ DECL_STRING_ATTRIB(Namespace,NAMESPACE);
+ DECL_XMLOBJECT_CONTENT(Value);
+ /** ActionType local name */
+ static const XMLCh TYPE_NAME[];
+ END_XMLOBJECT;
+
+ BEGIN_XMLOBJECT(SAML_API,Evidence,xmltooling::XMLObject,SAML 1.x Evidence element);
+ DECL_TYPED_CHILDREN(AssertionIDReference);
+ DECL_TYPED_CHILDREN(Assertion);
+ /** EvidenceType local name */
+ static const XMLCh TYPE_NAME[];
+ END_XMLOBJECT;
+
+ BEGIN_XMLOBJECT(SAML_API,AuthorizationDecisionStatement,SubjectStatement,SAML 1.x AuthorizationDecisionStatement element);
+ DECL_STRING_ATTRIB(Resource,RESOURCE);
+ DECL_STRING_ATTRIB(Decision,DECISION);
+ DECL_TYPED_CHILDREN(Action);
+ DECL_TYPED_CHILD(Evidence);
+ /** AuthorizationDecisionStatementType local name */
+ static const XMLCh TYPE_NAME[];
+ /** Permit Decision */
+ static const XMLCh DECISION_PERMIT[];
+ /** Deny Decision */
+ static const XMLCh DECISION_DENY[];
+ /** Indeterminate Decision */
+ static const XMLCh DECISION_INDETERMINATE[];
+ END_XMLOBJECT;
+
+ BEGIN_XMLOBJECT(SAML_API,AttributeDesignator,xmltooling::XMLObject,SAML 1.x AttributeDesignator element);
+ DECL_STRING_ATTRIB(AttributeName,ATTRIBUTENAME);
+ DECL_STRING_ATTRIB(AttributeNamespace,ATTRIBUTENAMESPACE);
+ /** AttributeDesignatorType local name */
+ static const XMLCh TYPE_NAME[];
+ END_XMLOBJECT;
+
+ BEGIN_XMLOBJECT(SAML_API,Attribute,AttributeDesignator,SAML 1.x Attribute element);
+ DECL_XMLOBJECT_CHILDREN(AttributeValue);
+ /** AttributeType local name */
+ static const XMLCh TYPE_NAME[];
+ END_XMLOBJECT;
+
+ /** SAML 1.x AttributeValue element */
+ class SAML_API AttributeValue : public virtual xmltooling::ElementProxy,
+ public virtual xmltooling::AttributeExtensibleXMLObject,
+ public virtual xmltooling::ValidatingXMLObject
+ {
+ protected:
+ AttributeValue() {}
+ public:
+ virtual ~AttributeValue() {}
+ /** Type-specific clone method. */
+ virtual AttributeValue* cloneAttributeValue() const=0;
+ /** Element local name. */
+ static const XMLCh LOCAL_NAME[];
+ };
+
+ BEGIN_XMLOBJECT(SAML_API,AttributeStatement,SubjectStatement,SAML 1.x AttributeStatement element);
+ DECL_TYPED_CHILDREN(Attribute);
+ /** AttributeStatementType local name */
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
static const XMLCh TYPE_NAME[];
END_XMLOBJECT;
+ DECL_SAML1OBJECTBUILDER(Action);
DECL_SAML1OBJECTBUILDER(Advice);
DECL_SAML1OBJECTBUILDER(Assertion);
DECL_SAML1OBJECTBUILDER(AssertionIDReference);
+ DECL_SAML1OBJECTBUILDER(Attribute);
+ DECL_SAML1OBJECTBUILDER(AttributeDesignator);
+ DECL_SAML1OBJECTBUILDER(AttributeStatement);
+ DECL_SAML1OBJECTBUILDER(AttributeValue);
DECL_SAML1OBJECTBUILDER(Audience);
DECL_SAML1OBJECTBUILDER(AudienceRestrictionCondition);
DECL_SAML1OBJECTBUILDER(AuthenticationStatement);
+ DECL_SAML1OBJECTBUILDER(AuthorizationDecisionStatement);
DECL_SAML1OBJECTBUILDER(AuthorityBinding);
- DECL_SAML1OBJECTBUILDER(DoNotCacheCondition);
DECL_SAML1OBJECTBUILDER(Conditions);
DECL_SAML1OBJECTBUILDER(ConfirmationMethod);
+ DECL_SAML1OBJECTBUILDER(DoNotCacheCondition);
+ DECL_SAML1OBJECTBUILDER(Evidence);
DECL_SAML1OBJECTBUILDER(NameIdentifier);
DECL_SAML1OBJECTBUILDER(Subject);
DECL_SAML1OBJECTBUILDER(SubjectConfirmation);