/* * IComputingTask.hh * * Created on: 14 èþë. 2020 ã. * Author: LeonidTitov */ #ifndef UMLIBRARY_PROCESSING_CALC_ICOMPUTINGTASK_HH_ #define UMLIBRARY_PROCESSING_CALC_ICOMPUTINGTASK_HH_ namespace processing { namespace calc { struct IComputingTask { virtual void compute_part() = 0; virtual bool is_done() = 0; }; struct IComputingTaskControl { virtual void start() = 0; virtual void cancel() = 0; }; struct IComputingTaskHolder { virtual processing::calc::IComputingTask & getComputingTask() = 0; virtual void setComputingControl( processing::calc::IComputingTaskControl * task_control ) = 0; }; }} #endif /* UMLIBRARY_PROCESSING_CALC_ICOMPUTINGTASK_HH_ */