Files
FSI.BT.IR.Tools/RoboSharp/Interfaces/IStatistic.cs
Maier Stephan SI 1c68b8f401 Sicherung
2023-04-17 07:07:49 +02:00

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();
}
}