blob: ae50ea89c908c0cb3d6b357f33c94a807397899a [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/*
* XSEC
*
* XKMSValidityInterval := Interface for ValidityInterval elements
*
* $Id$
*
*/
#ifndef XKMSVALIDITYINTERVAL_INCLUDE
#define XKMSVALIDITYINTERVAL_INCLUDE
// XSEC Includes
#include <xsec/framework/XSECDefs.hpp>
#ifdef XSEC_XKMS_ENABLED
/**
* @ingroup xkms
*/
/**
* @brief Interface definition for the ValidityInterval elements
*
* The \<ValidityInterval\> Element is used to define the dates within which
* a key is valid.
*
* The schema definition for ValidityInterval is as follows :
*
* \verbatim
<!-- ValidityInterval -->
<element name="ValidityInterval" type="xkms:ValidityIntervalType"/>
<complexType name="ValidityIntervalType">
<attribute name="NotBefore" type="dateTime" use="optional"/>
<attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
</complexType>
<!-- /ValidityInterval -->
\endverbatim
*/
class XSEC_EXPORT XKMSValidityInterval {
/** @name Constructors and Destructors */
//@{
protected:
XKMSValidityInterval() {};
public:
virtual ~XKMSValidityInterval() {};
//@}
/** @name Get Methods */
//@{
/**
* \brief Get the start date for the key
*
* Defines the first instance in time from which the key is valid. At any time
* before this, the key is invalid.
*
* @return The NotBefore value (or NULL if none was defined)
*/
virtual const XMLCh * getNotBefore(void) const = 0;
/**
* \brief Get the end date for the key
*
* Defines the first instance in time from which the key is invalid. At this time
* or after, the key is invalid.
*
* @return The NotOnOrAfter value (or NULL if none was defined)
*/
virtual const XMLCh * getNotOnOrAfter(void) const = 0;
//@}
/** @name Set Methods */
//@{
/**
* \brief Set the start date for the key
*
* Defines the first instance in time from which the key is valid. At any time
* before this, the key is invalid.
*
* @param val value to set
*/
virtual void setNotBefore(const XMLCh * val) = 0;
/**
* \brief Set the end date for the key
*
* Defines the first instance in time from which the key is invalid. At this time
* or after, the key is invalid.
*
* @param val value to set
*/
virtual void setNotOnOrAfter(const XMLCh * val) = 0;
//@}
private:
// Unimplemented
XKMSValidityInterval(const XKMSValidityInterval &);
XKMSValidityInterval & operator = (const XKMSValidityInterval &);
};
#endif /* XSEC_XKMS_ENABLED */
#endif /* XKMSVALIDITYINTERVAL_INCLUDE */