In order to provide simple monitoring of the progress of a particular processing task, a progress reporting module is available. While a task is in progress, the progress report prints dots across the line indicating how close to finished the task is. If the task is going to take very long, (greater than 2 minutes), the progress report periodically prints the current percentage done and the estimated time remaining. An example of usage, followed by function descriptions, is presented:
{ int i, n_slices; progress_struct progress; n_slices = 100; initialize_progress_report( &progress, FALSE, n_slices, "Processing Slices" ); for( i = 0; i < n_slices; ++i ) { process_slice( i ); update_progress_report( &progress, i + 1 ); } terminate_progress_report( &progress ); }
public void initialize_progress_report(
progress_struct *progress,
BOOLEAN one_line_only,
int n_steps,
char title[] )
public void update_progress_report(
progress_struct *progress,
int current_step )
public void terminate_progress_report(
progress_struct *progress )