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 * XKMSUseKeyWithImpl := Implementation of UseKeyWith Messages 24 * 25 * $Id: XKMSUseKeyWithImpl.hpp 1820685 2018-01-09 17:48:51Z scantor $ 26 * 27 */ 28 29 #ifndef XKMSUSEKEYWITHIMPL_INCLUDE 30 #define XKMSUSEKEYWITHIMPL_INCLUDE 31 32 // XSEC Includes 33 34 #include <xsec/framework/XSECDefs.hpp> 35 #include <xsec/xkms/XKMSUseKeyWith.hpp> 36 37 #ifdef XSEC_XKMS_ENABLED 38 39 class XKMSUseKeyWithImpl : public XKMSUseKeyWith { 40 41 public: 42 43 XKMSUseKeyWithImpl( 44 const XSECEnv * env 45 ); 46 47 XKMSUseKeyWithImpl( 48 const XSECEnv * env, 49 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * node 50 ); 51 52 virtual ~XKMSUseKeyWithImpl() ; 53 54 // Load 55 void load(void); 56 57 // Create 58 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * 59 createBlankUseKeyWith( 60 const XMLCh * application, 61 const XMLCh * identifier); 62 63 64 // Interface methods 65 66 virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * getElement(void) const; 67 virtual const XMLCh * getApplication(void) const; 68 virtual const XMLCh * getIdentifier(void) const; 69 virtual void setApplication(const XMLCh * uri); 70 virtual void setIdentifier(const XMLCh * identifier); 71 72 protected: 73 74 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement 75 * mp_useKeyWithElement; 76 const XSECEnv * mp_env; 77 78 private: 79 80 XERCES_CPP_NAMESPACE_QUALIFIER DOMNode 81 * mp_applicationAttr; 82 XERCES_CPP_NAMESPACE_QUALIFIER DOMNode 83 * mp_identifierAttr; 84 85 // Unimplemented 86 XKMSUseKeyWithImpl(const XKMSUseKeyWithImpl &); 87 XKMSUseKeyWithImpl & operator = (const XKMSUseKeyWithImpl &); 88 89 }; 90 91 #endif /* XSEC_XKMS_ENABLED */ 92 #endif /* XKMSUSEKEYWITHIMPL_INCLUDE */ 93