/*
- * Copyright 2001-2007 Internet2
+ * Copyright 2001-2009 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#define __saml_artmap_h__
#include <saml/base.h>
-#include <xmltooling/XMLObject.h>
-#include <xmltooling/util/StorageService.h>
-#include <xmltooling/util/Threads.h>
+
+#include <string>
+#include <xercesc/dom/DOM.hpp>
+
+namespace xmltooling {
+ class XMLTOOL_API StorageService;
+ class XMLTOOL_API XMLObject;
+};
namespace opensaml {
* @param e root of a DOM with optional XML attributes for context and artifactTTL
* @param storage pointer to a StorageService, or NULL to keep map in memory
*/
- ArtifactMap(const DOMElement* e, xmltooling::StorageService* storage=NULL);
+ ArtifactMap(const xercesc::DOMElement* e, xmltooling::StorageService* storage=NULL);
virtual ~ArtifactMap();
*/
virtual xmltooling::XMLObject* retrieveContent(const SAMLArtifact* artifact, const char* relyingParty=NULL);
+ /**
+ * Retrieves the relying party to whom the artifact was issued.
+ *
+ * @param artifact the artifact to check
+ * @return entityID of the party to whom the artifact was issued, if any
+ */
+ virtual std::string getRelyingParty(const SAMLArtifact* artifact);
+
private:
xmltooling::StorageService* m_storage;
std::string m_context;