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
{
///
/// Interface to provide Read-Only access to a
/// Implements:
/// where T =
///
///
///
///
///
public interface IRoboCopyResultsList : IEnumerable, INotifyCollectionChanged
{
#region < Properties >
///
/// Get the objects at the specified index.
///
///
///
RoboCopyResults this[int i] { get; }
///
IStatistic DirectoriesStatistic { get; }
///
IStatistic BytesStatistic { get; }
///
IStatistic FilesStatistic { get; }
///
ISpeedStatistic SpeedStatistic { get; }
///
IRoboCopyCombinedExitStatus Status { get; }
///
IReadOnlyList Collection { get; }
///
int Count { get; }
#endregion
#region < Methods >
///
/// Get a snapshot of the ByteStatistics objects from this list.
///
/// New array of the ByteStatistic objects
IStatistic[] GetByteStatistics();
///
/// Get a snapshot of the DirectoriesStatistic objects from this list.
///
/// New array of the DirectoriesStatistic objects
IStatistic[] GetDirectoriesStatistics();
///
/// Get a snapshot of the FilesStatistic objects from this list.
///
/// New array of the FilesStatistic objects
IStatistic[] GetFilesStatistics();
///
/// Get a snapshot of the FilesStatistic objects from this list.
///
/// New array of the FilesStatistic objects
RoboCopyExitStatus[] GetStatuses();
///
/// Get a snapshot of the FilesStatistic objects from this list.
///
/// New array of the FilesStatistic objects
ISpeedStatistic[] GetSpeedStatistics();
///
/// Combine the into a single array of errors
///
/// New array of the ErrorEventArgs objects
ErrorEventArgs[] GetErrors();
#endregion
}
}