Add sslIndex option to override ACS index in metadata generation.
[shibboleth/sp.git] / shibsp / util / PropertySet.h
index 019a05d..bfc7988 100644 (file)
@@ -23,7 +23,8 @@
 #ifndef __shibsp_propset_h__
 #define __shibsp_propset_h__
 
-#include <shibsp/base.h>
+#include <shibsp/util/SPConstants.h>
+#include <map>
 #include <xercesc/dom/DOM.hpp>
 
 namespace shibsp {
@@ -40,6 +41,13 @@ namespace shibsp {
         virtual ~PropertySet() {}
 
         /**
+         * Returns parent of this PropertySet, if any.
+         *
+         * @return the parent object, or NULL
+         */
+        virtual const PropertySet* getParent() const=0;
+
+        /**
          * Establishes a "parent" PropertySet to supply inherited settings.
          *
          * @param parent    the parent PropertySet to use
@@ -92,13 +100,20 @@ namespace shibsp {
         virtual std::pair<bool,int> getInt(const char* name, const char* ns=NULL) const=0;
 
         /**
+         * Returns a map of all known properties in string form.
+         *
+         * @param properties    map to populate
+         */
+        virtual void getAll(std::map<std::string,const char*>& properties) const=0;
+
+        /**
          * Returns a nested property set.
          * 
          * @param name  nested property set name
          * @param ns    nested property set namespace, or NULL
          * @return the nested property set, or NULL
          */        
-        virtual const PropertySet* getPropertySet(const char* name, const char* ns="urn:mace:shibboleth:sp:config:2.0") const=0;
+        virtual const PropertySet* getPropertySet(const char* name, const char* ns=shibspconstants::ASCII_SHIB2SPCONFIG_NS) const=0;
         
         /**
          * Returns a DOM element representing the property container, if any.