1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
/*
* Copyright 2002-2005 The Apache Software Foundation.
*
* 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
*
* 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.
*/
/*
* XSEC
*
* XSECURIResolverXerces := Virtual Interface class that takes a URI and
* creates a binary input stream from it.
*
* $Id: XSECURIResolverXerces.hpp 351212 2005-02-03 13:29:54Z milan $
*
*/
#ifndef XSECURIRESOLVERXERCES_INCLUDE
#define XSECURIRESOLVERXERCES_INCLUDE
#include <xsec/framework/XSECURIResolver.hpp>
/**
* @ingroup pubsig
*/
/*\@{*/
/**
* @brief URIResolver implementation class based on Xerces functions.
*
* This class provides the default implementation of the XSECURIResolver
* class. If no other resolver is specified, the XSECProvider will
* install this into the Signatures that are created.
*
* The class is very simple - it calls on the Xerces functions
* to provide primitive URI resolving support.
*
*/
class DSIG_EXPORT XSECURIResolverXerces : public XSECURIResolver {
public:
/** @name Constructors and Destructors */
//@{
/**
* \brief Constructor
*
* @param baseURI Provide a URI that relative URIs can be
* matched to.
*/
XSECURIResolverXerces(const XMLCh * baseURI = 0);
virtual ~XSECURIResolverXerces();
//@}
/** @name Interface Methods */
//@{
/**
* \brief Create a BYTE_STREAM from a URI.
*
* The resolver is required to take the input URI and
* dereference it to an actual stream of octets.
*
* @param uri The string containing the URI to be de-referenced.
* @returns The octet stream corresponding to the URI.
*/
virtual XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream * resolveURI(const XMLCh * uri);
/**
* \brief Clone the resolver to be installed in a new object.
*
* When URIResolvers are passed into signatures and other
* objects, they are cloned and control of the original object
* is left with the caller.
*
*/
virtual XSECURIResolver * clone(void);
//@}
/** @name XSECURIResolverXerces Specific Methods */
//@{
/**
* \brief Set the base URI for relative URIs.
*
*/
void setBaseURI(const XMLCh * uri);
//@}
private:
XMLCh * mp_baseURI;
};
#endif /* XSECURIRESOLVERXERCES_INCLUDE */
|