[cpp-opensaml COMMIT] in /branches/REL_2/saml/saml2/metadata: MetadataProvider.h impl/ChainingMetadataProvider.cpp im...

noreply at shibboleth.net noreply at shibboleth.net
Wed Sep 21 18:10:59 BST 2011


Author: scantor
Date: Wed Sep 21 18:10:59 2011
New Revision: 672

URL: http://svn.shibboleth.net/view/cpp-opensaml?rev=672&view=rev
Log:
Add API for status generation.

Modified:
    branches/REL_2/saml/saml2/metadata/MetadataProvider.h
    branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp
    branches/REL_2/saml/saml2/metadata/impl/MetadataProvider.cpp

Modified: branches/REL_2/saml/saml2/metadata/MetadataProvider.h
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/MetadataProvider.h?rev=672&r1=671&r2=672&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/MetadataProvider.h (original)
+++ branches/REL_2/saml/saml2/metadata/MetadataProvider.h Wed Sep 21 18:10:59 2011
@@ -30,6 +30,7 @@
 #include <saml/base.h>
 
 #include <vector>
+#include <iostream>
 #include <xmltooling/exceptions.h>
 #include <xmltooling/security/CredentialResolver.h>
 
@@ -119,6 +120,14 @@
              * this method so as to report/log any errors that would affect later processing.
              */
             virtual void init()=0;
+
+            /**
+             * Generate an XML representation of the provider's status. The XML must be
+             * well-formed, but is otherwise arbitrary.
+             *
+             * @param os    stream to write status information to
+             */
+            virtual void outputStatus(std::ostream& os) const;
 
             /**
              * Gets the entire metadata tree, after the registered filter has been applied.

Modified: branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp?rev=672&r1=671&r2=672&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp (original)
+++ branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp Wed Sep 21 18:10:59 2011
@@ -33,6 +33,7 @@
 #include "saml2/metadata/MetadataCredentialCriteria.h"
 
 #include <memory>
+#include <functional>
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/logging.h>
 #include <xmltooling/util/Threads.h>
@@ -64,6 +65,7 @@
             Lockable* lock();
             void unlock();
             void init();
+            void outputStatus(ostream& os) const;
             const XMLObject* getMetadata() const;
             const EntitiesDescriptor* getEntitiesDescriptor(const char* name, bool requireValidMetadata=true) const;
             pair<const EntityDescriptor*,const RoleDescriptor*> getEntityDescriptor(const Criteria& criteria) const;
@@ -222,6 +224,13 @@
     // Set an initial cache tag for the state of the plugins.
     SAMLConfig::getConfig().generateRandomBytes(m_feedTag, 4);
     m_feedTag = SAMLArtifact::toHex(m_feedTag);
+}
+
+void ChainingMetadataProvider::outputStatus(ostream& os) const
+{
+    for (vector<MetadataProvider*>::const_iterator i=m_providers.begin(); i!=m_providers.end(); ++i) {
+        (*i)->outputStatus(os);
+    }
 }
 
 Lockable* ChainingMetadataProvider::lock()

Modified: branches/REL_2/saml/saml2/metadata/impl/MetadataProvider.cpp
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/impl/MetadataProvider.cpp?rev=672&r1=671&r2=672&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/impl/MetadataProvider.cpp (original)
+++ branches/REL_2/saml/saml2/metadata/impl/MetadataProvider.cpp Wed Sep 21 18:10:59 2011
@@ -165,6 +165,10 @@
     }
 }
 
+void MetadataProvider::outputStatus(ostream& os) const
+{
+}
+
 const EntitiesDescriptor* MetadataProvider::getEntitiesDescriptor(const XMLCh* name, bool strict) const
 {
     auto_ptr_char temp(name);



More information about the commits mailing list