Squashed 'FSI.Lib/' changes from 6aa4846..4a27cd3

4a27cd3 RoboSharp eingefügt
1b2fc1f Erweiterungsmethode für Startparameter einefügt

git-subtree-dir: FSI.Lib
git-subtree-split: 4a27cd377a1959dc669625473b018e42c31ef147
This commit is contained in:
maier_S
2022-03-23 14:17:56 +01:00
parent a0095a0516
commit 907ad039c4
57 changed files with 11301 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using FSI.Lib.Tools.RoboSharp.Results;
namespace FSI.Lib.Tools.RoboSharp.Interfaces
{
/// <summary>
/// Interface to provide Read-Only access to a <see cref="RoboCopyResultsList"/>
/// <para/>Implements: <br/>
/// <see cref="IEnumerable{T}"/> where T = <see cref="RoboCopyResults"/> <br/>
/// <see cref="ICloneable"/>
/// </summary>
/// <remarks>
/// <see href="https://github.com/tjscience/RoboSharp/wiki/IRoboCopyResultsList"/>
/// </remarks>
public interface IRoboCopyResultsList : IEnumerable<RoboCopyResults>, INotifyCollectionChanged
{
#region < Properties >
/// <summary>
/// Get the <see cref="RoboCopyResults"/> objects at the specified index.
/// </summary>
/// <returns></returns>
/// <exception cref="IndexOutOfRangeException"/>
RoboCopyResults this[int i] { get; }
/// <inheritdoc cref="RoboCopyResultsList.DirectoriesStatistic"/>
IStatistic DirectoriesStatistic { get; }
/// <inheritdoc cref="RoboCopyResultsList.BytesStatistic"/>
IStatistic BytesStatistic { get; }
/// <inheritdoc cref="RoboCopyResultsList.FilesStatistic"/>
IStatistic FilesStatistic { get; }
/// <inheritdoc cref="RoboCopyResultsList.SpeedStatistic"/>
ISpeedStatistic SpeedStatistic { get; }
/// <inheritdoc cref="RoboCopyResultsList.Status"/>
IRoboCopyCombinedExitStatus Status { get; }
/// <inheritdoc cref="RoboCopyResultsList.Collection"/>
IReadOnlyList<RoboCopyResults> Collection { get; }
/// <inheritdoc cref="RoboCopyResultsList.Count"/>
int Count { get; }
#endregion
#region < Methods >
/// <summary>
/// Get a snapshot of the ByteStatistics objects from this list.
/// </summary>
/// <returns>New array of the ByteStatistic objects</returns>
IStatistic[] GetByteStatistics();
/// <summary>
/// Get a snapshot of the DirectoriesStatistic objects from this list.
/// </summary>
/// <returns>New array of the DirectoriesStatistic objects</returns>
IStatistic[] GetDirectoriesStatistics();
/// <summary>
/// Get a snapshot of the FilesStatistic objects from this list.
/// </summary>
/// <returns>New array of the FilesStatistic objects</returns>
IStatistic[] GetFilesStatistics();
/// <summary>
/// Get a snapshot of the FilesStatistic objects from this list.
/// </summary>
/// <returns>New array of the FilesStatistic objects</returns>
RoboCopyExitStatus[] GetStatuses();
/// <summary>
/// Get a snapshot of the FilesStatistic objects from this list.
/// </summary>
/// <returns>New array of the FilesStatistic objects</returns>
ISpeedStatistic[] GetSpeedStatistics();
/// <summary>
/// Combine the <see cref="RoboCopyResults.RoboCopyErrors"/> into a single array of errors
/// </summary>
/// <returns>New array of the ErrorEventArgs objects</returns>
ErrorEventArgs[] GetErrors();
#endregion
}
}