Refactored Signature signing/validation, various Validator bugs fixed.
[shibboleth/cpp-xmltooling.git] / xmltooling / validation / AbstractValidatingXMLObject.cpp
index 6df3ab4..5e50d3e 100644 (file)
@@ -49,24 +49,31 @@ AbstractValidatingXMLObject::~AbstractValidatingXMLObject()
     delete m_validators;\r
 }\r
 \r
-void AbstractValidatingXMLObject::registerValidator(Validator* validator) const\r
+void AbstractValidatingXMLObject::registerValidator(Validator* validator)\r
 {\r
     if (!m_validators)\r
         m_validators=new ValidatorWrapper();\r
     m_validators->v.push_back(validator);\r
 }\r
 \r
-void AbstractValidatingXMLObject::deregisterValidator(Validator* validator) const\r
+void AbstractValidatingXMLObject::deregisterValidator(Validator* validator)\r
 {\r
     if (m_validators) {\r
         for (std::vector<Validator*>::iterator i=m_validators->v.begin(); i!=m_validators->v.end(); i++) {\r
-            if ((*i)==validator)\r
+            if ((*i)==validator) {\r
                 m_validators->v.erase(i);\r
                 return;\r
+            }\r
         }\r
     }\r
 }\r
 \r
+void AbstractValidatingXMLObject::deregisterAll()\r
+{\r
+    delete m_validators;\r
+    m_validators=NULL;\r
+}\r
+\r
 class _validate : public binary_function<const XMLObject*,bool,void> {\r
 public:\r
     void operator()(const XMLObject* obj, bool propagate) const {\r