X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fbinding%2FArtifactMap.h;h=224862c964101ea399c90c5fda576efb71789fba;hb=04482c5c0e5fac5b688b0d23713526a15c51bd31;hp=3e9b3232f57c3ac889767e20f3096ffcceb1d1c6;hpb=3e12b03ef5f4ad38074b127845f7b08c834cd3cc;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/binding/ArtifactMap.h b/saml/binding/ArtifactMap.h index 3e9b323..224862c 100644 --- a/saml/binding/ArtifactMap.h +++ b/saml/binding/ArtifactMap.h @@ -1,17 +1,21 @@ -/* - * Copyright 2001-2007 Internet2 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at +/** + * Licensed to the University Corporation for Advanced Internet + * Development, Inc. (UCAID) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for + * additional information regarding copyright ownership. + * + * UCAID licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the + * License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the License. */ /** @@ -24,15 +28,25 @@ #define __saml_artmap_h__ #include -#include -#include -#include + +#include +#include + +namespace xmltooling { + class XMLTOOL_API StorageService; + class XMLTOOL_API XMLObject; +}; namespace opensaml { class SAML_API SAMLArtifact; class SAML_DLLLOCAL ArtifactMappings; +#if defined (_MSC_VER) + #pragma warning( push ) + #pragma warning( disable : 4251 ) +#endif + /** * Helper class for SAMLArtifact mapping and retrieval. */ @@ -44,19 +58,19 @@ namespace opensaml { /** * Creates a map on top of a particular storage service context, or in-memory. * - * @param storage pointer to a StorageService, or NULL to keep map in memory + * @param storage pointer to a StorageService, or nullptr to keep map in memory * @param context optional label for storage context * @param artifactTTL time to live in seconds, determines how long artifact remains valid */ - ArtifactMap(xmltooling::StorageService* storage=NULL, const char* context=NULL, unsigned int artifactTTL=180); + ArtifactMap(xmltooling::StorageService* storage=nullptr, const char* context=nullptr, unsigned int artifactTTL=180); /** * Creates a map on top of a particular storage service context, or in-memory. * * @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 + * @param storage pointer to a StorageService, or nullptr to keep map in memory */ - ArtifactMap(const xercesc::DOMElement* e, xmltooling::StorageService* storage=NULL); + ArtifactMap(const xercesc::DOMElement* e, xmltooling::StorageService* storage=nullptr); virtual ~ArtifactMap(); @@ -71,7 +85,7 @@ namespace opensaml { * @param relyingParty entityID of the party authorized to resolve the artifact * @return the generated artifact */ - virtual void storeContent(xmltooling::XMLObject* content, const SAMLArtifact* artifact, const char* relyingParty=NULL); + virtual void storeContent(xmltooling::XMLObject* content, const SAMLArtifact* artifact, const char* relyingParty=nullptr); /** * Retrieves the XML content represented by the artifact. The identity of the @@ -83,7 +97,15 @@ namespace opensaml { * @param relyingParty entityID of the party trying to resolve the artifact * @return the XML content */ - virtual xmltooling::XMLObject* retrieveContent(const SAMLArtifact* artifact, const char* relyingParty=NULL); + virtual xmltooling::XMLObject* retrieveContent(const SAMLArtifact* artifact, const char* relyingParty=nullptr); + + /** + * 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; @@ -91,6 +113,11 @@ namespace opensaml { ArtifactMappings* m_mappings; unsigned int m_artifactTTL; }; + +#if defined (_MSC_VER) + #pragma warning( pop ) +#endif + }; #endif /* __saml_artmap_h__ */