00001 /* 00002 * Copyright 2002-2005 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 /* 00018 * XSEC 00019 * 00020 * XSECURIResolverGenericWin32 := A URI Resolver that will work "out of 00021 * the box" with Windows. Re-implements 00022 * much Xerces code, but allows us to 00023 * handle HTTP redirects as is required by 00024 * the DSIG Standard 00025 * 00026 * $Id: XSECURIResolverGenericWin32.hpp,v 1.6 2005/02/03 13:56:22 milan Exp $ 00027 * 00028 * $Log: XSECURIResolverGenericWin32.hpp,v $ 00029 * Revision 1.6 2005/02/03 13:56:22 milan 00030 * Apache licence fix. 00031 * 00032 * Revision 1.5 2004/02/08 10:25:40 blautenb 00033 * Convert to Apache 2.0 license 00034 * 00035 * Revision 1.4 2003/09/11 11:11:05 blautenb 00036 * Cleaned up usage of Xerces namespace - no longer inject into global namespace in headers 00037 * 00038 * Revision 1.3 2003/07/05 10:30:38 blautenb 00039 * Copyright update 00040 * 00041 * Revision 1.2 2003/02/13 10:19:43 blautenb 00042 * Updated Xerces exceptions to Xsec exception 00043 * 00044 * Revision 1.1 2003/02/12 09:45:29 blautenb 00045 * Win32 Re-implementation of Xerces URIResolver to support re-directs 00046 * 00047 * 00048 */ 00049 00050 #ifndef XSECURIRESOLVERGENERICWIN32_INCLUDE 00051 #define XSECURIRESOLVERGENERICWIN32_INCLUDE 00052 00053 #include <xsec/framework/XSECDefs.hpp> 00054 #include <xsec/framework/XSECURIResolver.hpp> 00055 00056 #include <xercesc/util/XMLString.hpp> 00057 00058 #include <map> 00059 00060 00064 /*\@{*/ 00065 00078 class DSIG_EXPORT XSECURIResolverGenericWin32 : public XSECURIResolver { 00079 00080 public: 00081 00084 00085 XSECURIResolverGenericWin32(); 00086 virtual ~XSECURIResolverGenericWin32(); 00087 00089 00092 00108 virtual XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream * resolveURI(const XMLCh * uri); 00109 00119 virtual XSECURIResolver * clone(void); 00120 00122 00125 00131 void setBaseURI(const XMLCh * uri); 00132 00134 00135 private: 00136 00137 XMLCh * mp_baseURI; 00138 00139 00140 }; 00141 00142 00143 #endif /* XSECURIRESOLVERGENERICWIN32_INCLUDE */