[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