1 /** 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20 /* 21 * XSEC 22 * 23 * XENCCipherDataImpl := Implementation of CipherData elements 24 * 25 * $Id: XENCCipherDataImpl.hpp 1817224 2017-12-05 19:27:33Z scantor $ 26 * 27 */ 28 29 #ifndef XSECCIPHERDATAIMPL_INCLUDE 30 #define XSECCIPHERDATAIMPL_INCLUDE 31 32 // XSEC Includes 33 34 #include <xsec/framework/XSECDefs.hpp> 35 #include <xsec/xenc/XENCCipherData.hpp> 36 37 #include "XENCCipherImpl.hpp" 38 39 class XENCCipherValueImpl; 40 class XENCCipherReferenceImpl; 41 42 XSEC_DECLARE_XERCES_CLASS(DOMNode); 43 44 class XENCCipherDataImpl : public XENCCipherData { 45 46 public: 47 48 XENCCipherDataImpl(const XSECEnv * env); 49 XENCCipherDataImpl( 50 const XSECEnv * env, 51 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * node 52 ); 53 54 virtual ~XENCCipherDataImpl(); 55 56 // Load elements 57 void load(); 58 // Create 59 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * 60 createBlankCipherData(XENCCipherData::XENCCipherDataType type, const XMLCh * value); 61 62 63 // Interface methods 64 virtual XENCCipherDataType getCipherDataType(void) const; 65 virtual XENCCipherValue * getCipherValue(void) const; 66 virtual XENCCipherReference * getCipherReference(void) const; getElement(void) const67 virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * getElement(void) const 68 {return mp_cipherDataElement;} 69 70 71 private: 72 73 // Unimplemented constructor 74 XENCCipherDataImpl(); 75 76 const XSECEnv * mp_env; 77 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement 78 * mp_cipherDataElement; // Node at head of structure 79 80 XENCCipherDataType m_cipherDataType; // Is this a value or a reference? 81 XENCCipherValueImpl * mp_cipherValue; // Cipher value node 82 XENCCipherReferenceImpl * mp_cipherReference; // Cipher Reference node 83 }; 84 85 #endif /* XENCCIPHERDATAIMPL_INCLUDE */ 86 87