using System.Threading.Tasks; namespace RoboSharp.Interfaces { /// /// /// /// /// /// public interface IRoboCommand { #region Properties /// string Name { get; } /// bool IsPaused { get; } /// bool IsRunning { get; } /// bool IsScheduled{ get; } /// bool IsCancelled { get; } /// bool StopIfDisposing { get; } /// IProgressEstimator IProgressEstimator { get; } /// string CommandOptions { get; } /// CopyOptions CopyOptions { get; set; } /// SelectionOptions SelectionOptions { get; set; } /// RetryOptions RetryOptions { get; set; } /// LoggingOptions LoggingOptions { get; set; } /// JobOptions JobOptions{ get; } /// RoboSharpConfiguration Configuration { get; } #endregion Properties #region Events /// event RoboCommand.FileProcessedHandler OnFileProcessed; /// event RoboCommand.CommandErrorHandler OnCommandError; /// event RoboCommand.ErrorHandler OnError; /// event RoboCommand.CommandCompletedHandler OnCommandCompleted; /// event RoboCommand.CopyProgressHandler OnCopyProgressChanged; /// event RoboCommand.ProgressUpdaterCreatedHandler OnProgressEstimatorCreated; /// event System.UnhandledExceptionEventHandler TaskFaulted; #endregion Events #region Methods /// void Pause(); /// void Resume(); /// Task Start(string domain = "", string username = "", string password = ""); /// Task Start_ListOnly(string domain = "", string username = "", string password = ""); /// Results.RoboCopyResults GetResults(); /// void Stop(); /// void Dispose(); #if NET45_OR_GREATER || NETSTANDARD2_0_OR_GREATER || NETCOREAPP3_1_OR_GREATER /// Task StartAsync_ListOnly(string domain = "", string username = "", string password = ""); /// Task StartAsync(string domain = "", string username = "", string password = ""); #endif #endregion Methods } }