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 * XKMSStatusImpl := Implementation for Status elements (in KeyBinding) 24 * 25 * $Id: XKMSStatusImpl.hpp 1820685 2018-01-09 17:48:51Z scantor $ 26 * 27 */ 28 29 #ifndef XKMSSTATUSIMPL_INCLUDE 30 #define XKMSSTATUSIMPL_INCLUDE 31 32 // XSEC Includes 33 34 #include <xsec/framework/XSECDefs.hpp> 35 #include <xsec/xkms/XKMSStatus.hpp> 36 37 #ifdef XSEC_XKMS_ENABLED 38 39 40 class XKMSStatusImpl : public XKMSStatus { 41 42 public: 43 44 XKMSStatusImpl( 45 const XSECEnv * env 46 ); 47 48 XKMSStatusImpl( 49 const XSECEnv * env, 50 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * node 51 ); 52 53 virtual ~XKMSStatusImpl(); 54 55 // Load elements 56 void load(); 57 58 // Creation 59 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * 60 createBlankStatus(StatusValue status); 61 62 /* Getter Interface Methods */ 63 virtual StatusValue getStatusValue(void) const; 64 virtual bool getStatusReason(StatusValue status, StatusReason reason) const; 65 66 /* Setter Methods */ 67 virtual void setStatusReason(StatusValue status, StatusReason reason, bool value); 68 69 private: 70 71 const XSECEnv * mp_env; 72 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement 73 * mp_statusElement; 74 XERCES_CPP_NAMESPACE_QUALIFIER DOMNode 75 * mp_statusValueAttr; 76 77 StatusValue m_statusValue; 78 79 /* Record values of each status */ 80 XERCES_CPP_NAMESPACE_QUALIFIER DOMNode 81 * m_statusReasons[3][4]; 82 83 84 // Unimplemented 85 XKMSStatusImpl(const XKMSStatusImpl &); 86 XKMSStatusImpl & operator = (const XKMSStatusImpl &); 87 88 }; 89 90 #endif /* XSEC_XKMS_ENABLED */ 91 #endif /* XKMSSTATUSIMPL_INCLUDE */ 92