|
//-----------------------------------------------------------------------
// <copyright file="Lifetime.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
namespace System.IdentityModel.Protocols.WSTrust
{
using System;
using System.Diagnostics;
/// <summary>
/// Used in the RequestSecurityToken or RequestSecurityTokenResponse to indicated the desired or
/// required lifetime of a token. Everything here is stored in Utc format.
/// </summary>
public class Lifetime
{
DateTime? _created;
DateTime? _expires;
/// <summary>
/// Instantiates a LifeTime object with token creation and expiration time in Utc.
/// </summary>
/// <param name="created">Token creation time in Utc.</param>
/// <param name="expires">Token expiration time in Utc.</param>
/// <exception cref="ArgumentException">When the given expiration time is
/// before the given creation time.</exception>
public Lifetime( DateTime created, DateTime expires )
: this( (DateTime?)created, (DateTime?)expires )
{
}
/// <summary>
/// Instantiates a LifeTime object with token creation and expiration time in Utc.
/// </summary>
/// <param name="created">Token creation time in Utc.</param>
/// <param name="expires">Token expiration time in Utc.</param>
/// <exception cref="ArgumentException">When the given expiration time is
/// before the given creation time.</exception>
public Lifetime( DateTime? created, DateTime? expires )
{
if ( created != null && expires != null && expires.Value <= created.Value )
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ArgumentException( SR.GetString( SR.ID2000 ) ) );
_created = DateTimeUtil.ToUniversalTime( created );
_expires = DateTimeUtil.ToUniversalTime( expires );
}
/// <summary>
/// Gets the token creation time in UTC time.
/// </summary>
public DateTime? Created
{
get
{
return _created;
}
set
{
_created = value;
}
}
/// <summary>
/// Gets the token expiration time in UTC time.
/// </summary>
public DateTime? Expires
{
get
{
return _expires;
}
set
{
_expires = value;
}
}
}
}
|