+ class SAML_DLLLOCAL AuthnQueryDescriptorTypeImpl : public virtual AuthnQueryDescriptorType, public QueryDescriptorTypeImpl
+ {
+ public:
+ virtual ~AuthnQueryDescriptorTypeImpl() {}
+
+ AuthnQueryDescriptorTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
+
+ AuthnQueryDescriptorTypeImpl(const AuthnQueryDescriptorTypeImpl& src) : AbstractXMLObject(src), QueryDescriptorTypeImpl(src) {}
+
+ IMPL_XMLOBJECT_CLONE(AuthnQueryDescriptorType);
+ QueryDescriptorType* cloneQueryDescriptorType() const {
+ return new AuthnQueryDescriptorTypeImpl(*this);
+ }
+ RoleDescriptor* cloneRoleDescriptor() const {
+ return new AuthnQueryDescriptorTypeImpl(*this);
+ }
+ };
+
+ class SAML_DLLLOCAL AttributeQueryDescriptorTypeImpl : public virtual AttributeQueryDescriptorType, public QueryDescriptorTypeImpl
+ {
+ public:
+ virtual ~AttributeQueryDescriptorTypeImpl() {}
+
+ AttributeQueryDescriptorTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
+
+ AttributeQueryDescriptorTypeImpl(const AttributeQueryDescriptorTypeImpl& src)
+ : AbstractXMLObject(src), QueryDescriptorTypeImpl(src) {
+ VectorOf(AttributeConsumingService) w=getAttributeConsumingServices();
+ for (vector<AttributeConsumingService*>::const_iterator j=src.m_AttributeConsumingServices.begin(); j!=src.m_AttributeConsumingServices.end(); j++) {
+ if (*j) {
+ w.push_back((*j)->cloneAttributeConsumingService());
+ }
+ }
+ }
+
+ IMPL_XMLOBJECT_CLONE(AttributeQueryDescriptorType);
+ QueryDescriptorType* cloneQueryDescriptorType() const {
+ return new AttributeQueryDescriptorTypeImpl(*this);
+ }
+ RoleDescriptor* cloneRoleDescriptor() const {
+ return new AttributeQueryDescriptorTypeImpl(*this);
+ }
+
+ IMPL_TYPED_CHILDREN(AttributeConsumingService,m_children.end());
+
+ protected:
+ void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
+ PROC_TYPED_CHILDREN(AttributeConsumingService,SAML20MD_NS,false);
+ QueryDescriptorTypeImpl::processChildElement(childXMLObject,root);
+ }
+ };
+
+ class SAML_DLLLOCAL AuthzDecisionQueryDescriptorTypeImpl : public virtual AuthzDecisionQueryDescriptorType, public QueryDescriptorTypeImpl
+ {
+ public:
+ virtual ~AuthzDecisionQueryDescriptorTypeImpl() {}
+
+ AuthzDecisionQueryDescriptorTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
+ : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
+
+ AuthzDecisionQueryDescriptorTypeImpl(const AuthzDecisionQueryDescriptorTypeImpl& src)
+ : AbstractXMLObject(src), QueryDescriptorTypeImpl(src) {
+ VectorOf(ActionNamespace) w=getActionNamespaces();
+ for (vector<ActionNamespace*>::const_iterator j=src.m_ActionNamespaces.begin(); j!=src.m_ActionNamespaces.end(); j++) {
+ if (*j) {
+ w.push_back((*j)->cloneActionNamespace());
+ }
+ }
+ }
+
+ IMPL_XMLOBJECT_CLONE(AuthzDecisionQueryDescriptorType);
+ QueryDescriptorType* cloneQueryDescriptorType() const {
+ return new AuthzDecisionQueryDescriptorTypeImpl(*this);
+ }
+ RoleDescriptor* cloneRoleDescriptor() const {
+ return new AuthzDecisionQueryDescriptorTypeImpl(*this);
+ }
+
+ IMPL_TYPED_CHILDREN(ActionNamespace,m_children.end());
+
+ protected:
+ void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
+ PROC_TYPED_CHILDREN(ActionNamespace,samlconstants::SAML20MD_QUERY_EXT_NS,false);
+ QueryDescriptorTypeImpl::processChildElement(childXMLObject,root);
+ }
+ };
+