00001 /* 00002 * Copyright 2003-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 * XENCCipherReference := Interface definition for CipherReference element 00021 * 00022 * $Id: XENCCipherReference.hpp,v 1.5 2005/06/04 11:30:26 blautenb Exp $ 00023 * 00024 */ 00025 00026 #ifndef XENCCIPHERREFERENCE_INCLUDE 00027 #define XENCCIPHERREFERENCE_INCLUDE 00028 00029 // XSEC Includes 00030 00031 #include <xsec/framework/XSECDefs.hpp> 00032 #include <xsec/dsig/DSIGConstants.hpp> 00033 00034 class DSIGTransformList; 00035 class DSIGTransformBase64; 00036 class DSIGTransformXPath; 00037 class DSIGTransformXPathFilter; 00038 class DSIGTransformXSL; 00039 class DSIGTransformC14n; 00040 00041 XSEC_DECLARE_XERCES_CLASS(DOMElement); 00042 XSEC_DECLARE_XERCES_CLASS(DOMNode); 00043 00080 class XENCCipherReference { 00081 00084 00085 protected: 00086 00087 XENCCipherReference() {}; 00088 00089 public: 00090 00091 virtual ~XENCCipherReference() {}; 00092 00095 00103 virtual DSIGTransformList * getTransforms(void) const = 0; 00104 00111 virtual const XMLCh * getURI (void) const = 0; 00112 00119 virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * getElement(void) const = 0; 00120 00122 00125 00134 virtual DSIGTransformBase64 * appendBase64Transform() = 0; 00135 00149 virtual DSIGTransformXPath * appendXPathTransform(const char * expr) = 0; 00150 00163 virtual DSIGTransformXPathFilter * appendXPathFilterTransform(void) = 0; 00164 00177 virtual DSIGTransformXSL * appendXSLTransform(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *stylesheet) = 0; 00178 00188 virtual DSIGTransformC14n * appendCanonicalizationTransform(canonicalizationMethod cm) = 0; 00189 00191 00192 private: 00193 00194 // Unimplemented 00195 XENCCipherReference(const XENCCipherReference &); 00196 XENCCipherReference & operator = (const XENCCipherReference &); 00197 00198 }; 00199 00200 #endif /* XENCCIPHERREFERENCE_INCLUDE */ 00201