-
Notifications
You must be signed in to change notification settings - Fork 66
ProgressEstimator
Robert Brenckman edited this page Nov 15, 2024
·
4 revisions
This object can be used to report live results of a robocopy operation to a user interface. Note that the final results may differ depending on the logging options used. (If skipped files are not written to the log, the estimator will be unaware of them and the estimator will have a different value than the final tally reported by robocopy).
-
Methods would be used for custom implementations, see RoboMover
-
UI Usage would be used based on the IProgressEstimator interface, see IProgressEstimator
Property Name | Property Type | Description |
---|---|---|
Name | string | Custom Name for the object to refer to it by - Has no effect on functionality. |
DirectoriesStatistic | IStatistic | Estimate of current number of files processed while the job is still running. |
FilesStatistic | IStatistic | Estimate of current number of files processed while the job is still running. |
BytesStatistic | IStatistic | Estimate of current number of bytes processed while the job is still running. |
Name | Event Object | Delegate | Description |
ValuesUpdated | IProgressEstimatorUpdateEventArgs | UIUpdateEventHandler | This event is fired when the values of the progress estimator are updated. Default implementations will only raise the event every 150ms in order to avoid overloading the UI. |
The methods on this object are primarily for use with implementations of IRoboCopy so they can report their activity, not for consumers to use when interacting with a UI.
Name | Description |
GetExitCode | Calculate a 'RoboCopyExitCodes' enum based off the currently reported statistics |
GetResults | Transform the progress estimator into a 'RoboCopyResults' object. Calls FinalizeResults() |
FinalizeResults | Tabulate the final results, killing the worker task that is used for UI updating, and performs one last update to the UI via the ValuesUpdated event. |
AddDir | Adds a ProcessedFileInfo object that represents a directory to the statistics. |
AddDirCopied | Adds a ProcessedFileInfo object that represents a COPIED directory to the statistics. |
AddDirSkipped | Adds a ProcessedFileInfo object that represents a SKIPPED directory to the statistics. |
ProcessPreviousFile | Performs final processing of the previously added file if needed. |
AddFile | Adds a ProcessedFileInfo object that represents a file to the statistics. |
SetCopyOpStarted | Sets flag indicating that the last file added via AddFile has begun its copy operation. This flag is proccessed when a subsequent file is added to mark the previous one as skipped or completed. |
AddFileCopied | Adds a file to the statistics and marks it as COPIED |
AddFileFailed | Adds a file to the statistics and marks it as FAILED |
AddFileSkipped | Adds a file to the statistics and marks it as SKIPPED |
AddFileMisMatch | Adds a file to the statistics and marks it as MISMATCH |
AddFileExtra | Adds a file to the statistics and marks it as EXTRA |
RoboCommand
- IRoboCommand Interface- RoboCommand
- CopyOptions
- JobOptions
- LoggingOptions
- RetryOptions
- SelectionOptions
- RoboSharpConfiguration
- JobFile
RoboQueue
- RoboQueueResults Objects
- RoboCopyResults- IResults Interface
- RoboCopyResultsList
- IRoboCopyResultsList Interface
ExitStatus Objects
- RoboCopyExitStatus- RoboCopyCombinedExitStatus
- IRoboCopyCombinedExitStatus Interface
Progress Estimator Objects
- IProgressEstimator Interface- ProgressEstimator
- RoboQueueProgressEstimator