using System; using System.ComponentModel; using FSI.Lib.Tools.RoboSharp.Results; namespace FSI.Lib.Tools.RoboSharp.Interfaces { /// /// Provide Read-Only access to a object /// /// /// /// public interface IStatistic : INotifyPropertyChanged, ICloneable { #region < Properties > /// /// Name of the Statistics Object /// string Name { get; } /// /// /// Statistic.StatType Type { get; } /// Total Scanned during the run long Total { get; } /// Total Copied long Copied { get; } /// Total Skipped long Skipped { get; } /// long Mismatch { get; } /// Total that failed to copy or move long Failed { get; } /// Total Extra that exist in the Destination (but are missing from the Source) long Extras { get; } /// bool NonZeroValue { get; } #endregion #region < Events > /// new event PropertyChangedEventHandler PropertyChanged; /// Occurs when the Property is updated. event Statistic.StatChangedHandler OnTotalChanged; /// Occurs when the Property is updated. event Statistic.StatChangedHandler OnCopiedChanged; /// Occurs when the Property is updated. event Statistic.StatChangedHandler OnSkippedChanged; /// Occurs when the Property is updated. event Statistic.StatChangedHandler OnMisMatchChanged; /// Occurs when the Property is updated. event Statistic.StatChangedHandler OnFailedChanged; /// Occurs when the Property is updated. event Statistic.StatChangedHandler OnExtrasChanged; #endregion #region < ToString Methods > /// string ToString(); /// string ToString(bool IncludeType, bool IncludePrefix, string Delimiter, bool DelimiterAfterType = false); /// string ToString_Type(); /// string ToString_Total(bool IncludeType = false, bool IncludePrefix = true); /// string ToString_Copied(bool IncludeType = false, bool IncludePrefix = true); /// string ToString_Extras(bool IncludeType = false, bool IncludePrefix = true); /// string ToString_Failed(bool IncludeType = false, bool IncludePrefix = true); /// string ToString_Mismatch(bool IncludeType = false, bool IncludePrefix = true); /// string ToString_Skipped(bool IncludeType = false, bool IncludePrefix = true); #endregion /// new object /// new Statistic Clone(); } }