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

noreply at shibboleth.net noreply at shibboleth.net
Tue May 22 04:47:22 BST 2012


Author: scantor
Date: Tue May 22 04:47:22 2012
New Revision: 730

URL: http://svn.shibboleth.net/view/cpp-opensaml?rev=730&view=rev
Log:
Convert context API to use const objects and support chaining provider

Modified:
    branches/REL_2/saml/saml2/metadata/MetadataFilter.h
    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/MetadataFilter.h
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/MetadataFilter.h?rev=730&r1=729&r2=730&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/MetadataFilter.h (original)
+++ branches/REL_2/saml/saml2/metadata/MetadataFilter.h Tue May 22 04:47:22 2012
@@ -82,7 +82,7 @@
              * @param ctx       context interface, or nullptr
              * @param xmlObject the metadata to be filtered
              */
-            virtual void doFilter(MetadataFilterContext* ctx, xmltooling::XMLObject& xmlObject) const;
+            virtual void doFilter(const MetadataFilterContext* ctx, xmltooling::XMLObject& xmlObject) const;
         };
 
         /**

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=730&r1=729&r2=730&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/MetadataProvider.h (original)
+++ branches/REL_2/saml/saml2/metadata/MetadataProvider.h Tue May 22 04:47:22 2012
@@ -31,7 +31,6 @@
 
 #include <vector>
 #include <iostream>
-#include <boost/scoped_ptr.hpp>
 #include <boost/ptr_container/ptr_vector.hpp>
 #include <xmltooling/exceptions.h>
 #include <xmltooling/security/CredentialResolver.h>
@@ -124,12 +123,12 @@
 
             /**
              * Sets a filtering context object for use by the filtering process.
-             * <p>The MetadataProvider takes ownership of the object. Any existing
-             * object is cleared.
+             * <p>The object's lifetime must last for the duration of the lifetime
+             * of the MetadataProvider.
              *
              * @param ctx   a context object
              */
-            void setContext(MetadataFilterContext* ctx);
+            void setContext(const MetadataFilterContext* ctx);
 
             /**
              * Should be called after instantiating provider and adding filters, but before
@@ -262,7 +261,7 @@
             void doFilters(xmltooling::XMLObject& xmlObject) const;
 
         private:
-            boost::scoped_ptr<MetadataFilterContext> m_filterContext;
+            const MetadataFilterContext* m_filterContext;
             boost::ptr_vector<MetadataFilter> m_filters;
         };
 

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=730&r1=729&r2=730&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp (original)
+++ branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp Tue May 22 04:47:22 2012
@@ -67,14 +67,15 @@
 
             Lockable* lock();
             void unlock();
+            void setContext(const MetadataFilterContext*);
             void init();
-            void outputStatus(ostream& os) const;
+            void outputStatus(ostream&) 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;
+            const EntitiesDescriptor* getEntitiesDescriptor(const char*, bool requireValidMetadata=true) const;
+            pair<const EntityDescriptor*,const RoleDescriptor*> getEntityDescriptor(const Criteria&) const;
     
             const Credential* resolve(const CredentialCriteria* criteria=nullptr) const;
-            vector<const Credential*>::size_type resolve(vector<const Credential*>& results, const CredentialCriteria* criteria=nullptr) const;
+            vector<const Credential*>::size_type resolve(vector<const Credential*>&, const CredentialCriteria* criteria=nullptr) const;
 
             string getCacheTag() const {
                 Lock lock(m_trackerLock);
@@ -199,6 +200,9 @@
                 m_log.error("error building MetadataProvider: %s", ex.what());
             }
         }
+        else {
+            m_log.error("MetadataProvider element missing type attribute");
+        }
         e = XMLHelper::getNextSiblingElement(e, _MetadataProvider);
     }
 }
@@ -206,6 +210,11 @@
 ChainingMetadataProvider::~ChainingMetadataProvider()
 {

[... 95 lines stripped ...]


More information about the commits mailing list