/** Shared lock for manipulating application state. */
mutable xmltooling::RWLock* m_lock;
- /** Cache of entity attributes. */
- mutable std::map< std::string,std::multimap<std::string,const Attribute*> > m_entityAttributes;
-
/** Pairs of raw and normalized CGI header names to clear. */
mutable std::vector< std::pair<std::string,std::string> > m_unsetHeaders;
virtual const PropertySet* getRelyingParty(const opensaml::saml2md::EntityDescriptor* provider) const=0;
/**
- * Returns the set of audience values associated with this Application.
+ * Returns any additional audience values associated with this Application.
*
- * @return set of audience values associated with the Application
+ * @return additional audience values associated with the Application, or NULL
*/
- virtual const std::vector<const XMLCh*>& getAudiences() const=0;
+ virtual const std::vector<const XMLCh*>* getAudiences() const=0;
#endif
/**
virtual std::string getNotificationURL(const char* request, bool front, unsigned int index) const=0;
/**
- * Returns a set of attribute IDs to use as a REMOTE_USER value.
- * <p>The first attribute with a value (and only a single value) will be used.
+ * Returns an array of attribute IDs to use as a REMOTE_USER value, in order of preference.
*
- * @return a set of attribute IDs, or an empty set
+ * @return an array of attribute IDs, possibly empty
*/
- virtual const std::set<std::string>& getRemoteUserAttributeIds() const=0;
+ virtual const std::vector<std::string>& getRemoteUserAttributeIds() const=0;
/**
* Clears any headers that may be used to hold attributes after export.
virtual void clearAttributeHeaders(SPRequest& request) const;
/**
- * Returns an indexed set of attributes associated with an entity (as opposed to a user).
- *
- * @param entityID unique ID of entity
- * @return a map of attributes keyed by their ID
- */
- virtual const std::multimap<std::string,const Attribute*>& getEntityAttributes(const char* entityID) const;
-
- /**
* Returns the default SessionInitiator when automatically requesting a session.
*
* @return the default SessionInitiator, or NULL
* @return the mapped Handler, or NULL
*/
virtual const Handler* getHandler(const char* path) const=0;
+
+ /**
+ * Returns all registered Handlers.
+ *
+ * @param handlers array to populate
+ */
+ virtual void getHandlers(std::vector<const Handler*>& handlers) const=0;
};
#if defined (_MSC_VER)