#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 {
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
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.