00001 /* 00002 * Copyright 2002-2004 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 * imitations 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.5 2004/02/08 10:25:40 blautenb Exp $ 00027 * 00028 * $Log: XSECURIResolverGenericWin32.hpp,v $ 00029 * Revision 1.5 2004/02/08 10:25:40 blautenb 00030 * Convert to Apache 2.0 license 00031 * 00032 * Revision 1.4 2003/09/11 11:11:05 blautenb 00033 * Cleaned up usage of Xerces namespace - no longer inject into global namespace in headers 00034 * 00035 * Revision 1.3 2003/07/05 10:30:38 blautenb 00036 * Copyright update 00037 * 00038 * Revision 1.2 2003/02/13 10:19:43 blautenb 00039 * Updated Xerces exceptions to Xsec exception 00040 * 00041 * Revision 1.1 2003/02/12 09:45:29 blautenb 00042 * Win32 Re-implementation of Xerces URIResolver to support re-directs 00043 * 00044 * 00045 */ 00046 00047 #ifndef XSECURIRESOLVERGENERICWIN32_INCLUDE 00048 #define XSECURIRESOLVERGENERICWIN32_INCLUDE 00049 00050 #include <xsec/framework/XSECDefs.hpp> 00051 #include <xsec/framework/XSECURIResolver.hpp> 00052 00053 #include <xercesc/util/XMLString.hpp> 00054 00055 #include <map> 00056 00057 00061 /*\@{*/ 00062 00075 class DSIG_EXPORT XSECURIResolverGenericWin32 : public XSECURIResolver { 00076 00077 public: 00078 00081 00082 XSECURIResolverGenericWin32(); 00083 virtual ~XSECURIResolverGenericWin32(); 00084 00086 00089 00105 virtual XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream * resolveURI(const XMLCh * uri); 00106 00116 virtual XSECURIResolver * clone(void); 00117 00119 00122 00128 void setBaseURI(const XMLCh * uri); 00129 00131 00132 private: 00133 00134 XMLCh * mp_baseURI; 00135 00136 00137 }; 00138 00139 00140 #endif /* XSECURIRESOLVERGENERICWIN32_INCLUDE */