diff --git a/src/ui/progress_indicator.hpp b/src/ui/progress_indicator.hpp new file mode 100644 index 0000000000000000000000000000000000000000..93f713a1f12ab7db2d2d4369456c23daee6cfcc6 --- /dev/null +++ b/src/ui/progress_indicator.hpp @@ -0,0 +1,40 @@ +#pragma once + +#include <memory> +#include <string> + +namespace rmrf::ui { + +/** + * This class is used to share progress information on running tasks. + */ +class progress_indicator { +public: + /** + * Query the progress state + * @return The current progress in percent + */ + virtual int get_progress(); + /** + * This method shall be used in order to obtain + * the total amount of steps to be done. + */ + virtual int get_total_work(); + /** + * This method shall be used to retrieve the + * current progress as a number of finished jobs. + */ + virtual int get_current_work(); + /** + * This method shall be used in order to obtain the + * description of the total operation. + */ + virtual shared_ptr<string> get_operation_description(); + /** + * This method shall be used in order to retrieve a + * description of the current step. + */ + virtual shared_ptr<string> get_current_job_description(); +} + +}