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  * XKMSKeyBindingImpl := Implementation for KeyBinding
24  *
25  * $Id: XKMSKeyBindingImpl.hpp 1820685 2018-01-09 17:48:51Z scantor $
26  *
27  */
28 
29 #ifndef XKMSKEYBINDINGIMPL_INCLUDE
30 #define XKMSKEYBINDINGIMPL_INCLUDE
31 
32 // XSEC Includes
33 
34 #include <xsec/framework/XSECDefs.hpp>
35 #include <xsec/xkms/XKMSKeyBinding.hpp>
36 #include <xsec/xkms/XKMSStatus.hpp>
37 
38 #ifdef XSEC_XKMS_ENABLED
39 
40 #include "XKMSKeyBindingAbstractTypeImpl.hpp"
41 
42 class XKMSStatusImpl;
43 
44 class XKMSKeyBindingImpl : public XKMSKeyBinding, public XKMSKeyBindingAbstractTypeImpl {
45 
46 public:
47 
48 	XKMSKeyBindingImpl(
49 		const XSECEnv * env
50 	);
51 
52 	XKMSKeyBindingImpl(
53 		const XSECEnv * env,
54 		XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * node
55 	);
56 
57 	virtual ~XKMSKeyBindingImpl() ;
58 
59 	// Load
60 	void load(void);
61 
62 	// Create
63 	XERCES_CPP_NAMESPACE_QUALIFIER DOMElement *
64 		createBlankKeyBinding(XKMSStatus::StatusValue status);
65 
66 	// Interface
67 	virtual XKMSStatus * getStatus(void) const;
68 
69 	// Import methods from XKMSKeyBindingAbstractType
70 	XKMS_KEYBINDINGABSTRACTYPE_IMPL_METHODS
71 
72 private:
73 
74 	XKMSStatusImpl		* mp_status;
75 
76 	// Unimplemented
77 	XKMSKeyBindingImpl(void);
78 	XKMSKeyBindingImpl(const XKMSKeyBindingImpl &);
79 	XKMSKeyBindingImpl & operator = (const XKMSKeyBindingImpl &);
80 
81 };
82 
83 #endif /* XSEC_XKMS_ENABLED */
84 #endif /* XKMSKEYBINDINGIMPL_INCLUDE */
85