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  * XKMSRevokeKeyBinding := Interface for KeyBinding elements
24  *
25  * $Id$
26  *
27  */
28 
29 #ifndef XKMSREISSUEKEYBINDING_INCLUDE
30 #define XKMSREISSUEKEYBINDING_INCLUDE
31 
32 // XSEC Includes
33 
34 #include <xsec/framework/XSECDefs.hpp>
35 
36 #ifdef XSEC_XKMS_ENABLED
37 
38 #include <xsec/xkms/XKMSKeyBindingAbstractType.hpp>
39 
40 /**
41  * @ingroup xkms
42  */
43 
44 /**
45  * @brief Interface definition for the ReissueKeyBinding elements
46  *
47  * The \<ReissueKeyBinding\> Element is used in a request to reissue
48  * a particular key from an XKRS service
49  *
50  * The schema definition for ReissueKeyBinding is as follows :
51  *
52  * \verbatim
53    <!-- ReissueKeyBinding -->
54 	<element name="ReissueKeyBinding" type="xkms:KeyBindingType"/>
55    <!-- /ReissueKeyBinding -->
56  \endverbatim
57  */
58 
59 class XKMSStatus;
60 
61 class XSEC_EXPORT XKMSReissueKeyBinding : public XKMSKeyBindingAbstractType {
62 
63 	/** @name Constructors and Destructors */
64 	//@{
65 
66 protected:
67 
XKMSReissueKeyBinding()68 	XKMSReissueKeyBinding() {};
69 
70 public:
71 
~XKMSReissueKeyBinding()72 	virtual ~XKMSReissueKeyBinding() {};
73 
74 	//@}
75 
76 	/** @name Status handling */
77 	//@{
78 
79 	/**
80 	 * \brief Obtain the status element for this KeyBinding
81 	 *
82 	 * The \<Status\> element is used to describe to the caller the
83 	 * validity of they key being described.  This call is used to
84 	 * obtain the status element
85 	 *
86 	 * @return A pointer to the XKMSStatus element
87 	 */
88 
89 	virtual XKMSStatus * getStatus(void) const = 0;
90 
91 	//@}
92 
93 private:
94 
95 	// Unimplemented
96 	XKMSReissueKeyBinding(const XKMSReissueKeyBinding &);
97 	XKMSReissueKeyBinding & operator = (const XKMSReissueKeyBinding &);
98 
99 };
100 
101 #endif /* XSEC_XKMS_ENABLED */
102 
103 #endif /* XKMSREISSUEKEYBINDING_INCLUDE */
104