/* KeePass Password Safe - The Open-Source Password Manager Copyright (C) 2003-2020 Dominik Reichl This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ using System; namespace ModernKeePassLib.Interfaces { /// /// Interface for objects that support various times (creation time, last /// access time, last modification time and expiry time). Offers /// several helper functions (for example a function to touch the current /// object). /// public interface ITimeLogger { /// /// The date/time when the object was created. /// DateTime CreationTime { get; set; } /// /// The date/time when the object was last modified. /// DateTime LastModificationTime { get; set; } /// /// The date/time when the object was last accessed. /// DateTime LastAccessTime { get; set; } /// /// The date/time when the object expires. /// DateTime ExpiryTime { get; set; } /// /// Flag that determines whether the object expires. /// bool Expires { get; set; } /// /// Get or set the usage count of the object. To increase the usage /// count by one, use the Touch function. /// ulong UsageCount { get; set; } /// /// The date/time when the location of the object was last changed. /// DateTime LocationChanged { get; set; } /// /// Touch the object. This function updates the internal last access /// time. If the parameter is true, /// the last modification time gets updated, too. Each time you call /// Touch, the usage count of the object is increased by one. /// /// Update last modification time. void Touch(bool bModified); } }