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