Completed 2.0 assertions schema classes.
[shibboleth/cpp-opensaml.git] / saml / saml1 / core / Protocols.h
index 48413a8..8b72e45 100644 (file)
 
 namespace opensaml {
 
-    namespace saml1 {
+    /**
+     * @namespace saml1p
+     * SAML 1.x protocol namespace
+     */
+    namespace saml1p {
         
         DECL_XMLOBJECT_SIMPLE(SAML_API,AssertionArtifact,Artifact,SAML 1.x AssertionArtifact element);
         DECL_XMLOBJECT_SIMPLE(SAML_API,StatusMessage,Message,SAML 1.x StatusMessage element);
@@ -46,7 +50,7 @@ namespace opensaml {
         END_XMLOBJECT;
 
         BEGIN_XMLOBJECT(SAML_API,SubjectQuery,Query,SAML 1.x SubjectQuery element);
-            DECL_TYPED_CHILD(Subject);
+            DECL_TYPED_FOREIGN_CHILD(Subject,saml1);
         END_XMLOBJECT;
 
         BEGIN_XMLOBJECT(SAML_API,AuthenticationQuery,SubjectQuery,SAML 1.x AuthenticationQuery element);
@@ -57,20 +61,20 @@ namespace opensaml {
 
         BEGIN_XMLOBJECT(SAML_API,AttributeQuery,SubjectQuery,SAML 1.x AttributeQuery element);
             DECL_STRING_ATTRIB(Resource,RESOURCE);
-            DECL_TYPED_CHILDREN(AttributeDesignator);
+            DECL_TYPED_FOREIGN_CHILDREN(AttributeDesignator,saml1);
             /** AttributeQueryType local name */
             static const XMLCh TYPE_NAME[];
         END_XMLOBJECT;
 
         BEGIN_XMLOBJECT(SAML_API,AuthorizationDecisionQuery,SubjectQuery,SAML 1.x AuthorizationDecisionQuery element);
             DECL_STRING_ATTRIB(Resource,RESOURCE);
-            DECL_TYPED_CHILDREN(Action);
-            DECL_TYPED_CHILD(Evidence);
+            DECL_TYPED_FOREIGN_CHILDREN(Action,saml1);
+            DECL_TYPED_FOREIGN_CHILD(Evidence,saml1);
             /** AuthorizationDecisionQueryType local name */
             static const XMLCh TYPE_NAME[];
         END_XMLOBJECT;
 
-        BEGIN_XMLOBJECT(SAML_API,AbstractRequest,xmltooling::XMLObject,SAML 1.x RequestAbstractType base type);
+        BEGIN_XMLOBJECT(SAML_API,AbstractRequest,SignableObject,SAML 1.x RequestAbstractType base type);
             DECL_INTEGER_ATTRIB(MinorVersion,MINORVERSION);
             DECL_STRING_ATTRIB(RequestID,REQUESTID);
             DECL_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT);
@@ -84,7 +88,7 @@ namespace opensaml {
             DECL_TYPED_CHILD(AuthenticationQuery);
             DECL_TYPED_CHILD(AttributeQuery);
             DECL_TYPED_CHILD(AuthorizationDecisionQuery);
-            DECL_TYPED_CHILDREN(AssertionIDReference);
+            DECL_TYPED_FOREIGN_CHILDREN(AssertionIDReference,saml1);
             DECL_TYPED_CHILDREN(AssertionArtifact);
             /** RequestType local name */
             static const XMLCh TYPE_NAME[];
@@ -111,12 +115,38 @@ namespace opensaml {
             static const XMLCh TYPE_NAME[];
         END_XMLOBJECT;
 
+        BEGIN_XMLOBJECT(SAML_API,Status,xmltooling::XMLObject,SAML 1.x Status element);
+            DECL_TYPED_CHILD(StatusCode);
+            DECL_TYPED_CHILD(StatusMessage);
+            DECL_TYPED_CHILD(StatusDetail);
+            /** StatusType local name */
+            static const XMLCh TYPE_NAME[];
+        END_XMLOBJECT;
+
+        BEGIN_XMLOBJECT(SAML_API,AbstractResponse,SignableObject,SAML 1.x ResponseAbstractType base type);
+            DECL_INTEGER_ATTRIB(MinorVersion,MINORVERSION);
+            DECL_STRING_ATTRIB(ResponseID,RESPONSEID);
+            DECL_STRING_ATTRIB(InResponseTo,INRESPONSETO);
+            DECL_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT);
+            DECL_STRING_ATTRIB(Recipient,RECIPIENT);
+            DECL_TYPED_FOREIGN_CHILD(Signature,xmlsignature);
+        END_XMLOBJECT;
+
+        BEGIN_XMLOBJECT(SAML_API,Response,AbstractResponse,SAML 1.x Response element);
+            DECL_TYPED_CHILD(Status);
+            DECL_TYPED_FOREIGN_CHILDREN(Assertion,saml1);
+            /** ResponseType local name */
+            static const XMLCh TYPE_NAME[];
+        END_XMLOBJECT;
+
         DECL_SAML1POBJECTBUILDER(AssertionArtifact);
         DECL_SAML1POBJECTBUILDER(AttributeQuery);
         DECL_SAML1POBJECTBUILDER(AuthenticationQuery);
         DECL_SAML1POBJECTBUILDER(AuthorizationDecisionQuery);
         DECL_SAML1POBJECTBUILDER(Request);
         DECL_SAML1POBJECTBUILDER(RespondWith);
+        DECL_SAML1POBJECTBUILDER(Response);
+        DECL_SAML1POBJECTBUILDER(Status);
         DECL_SAML1POBJECTBUILDER(StatusCode);
         DECL_SAML1POBJECTBUILDER(StatusDetail);
         DECL_SAML1POBJECTBUILDER(StatusMessage);