- Extending Qt Creator Manual
- TaskTree
- QTaskInterface
- Extending Qt Creator Manual 19.0.0-beta1

# QTaskInterface Class

QTaskInterface is a helper class used when adapting custom task's interface. More...

Header: | `#include <qtasktree.h>`
Inherits: | QObject

- List of all members, including inherited members

Note: All functions in this class are reentrant.

## Public Functions

void | reportDone(QtTaskTree::DoneResult result)

## Detailed Description

The custom `Adapter` type of the QCustomTask<`Task`, `Adapter`, `Deleter>` template is expected to have the following form, when adapting Worker task:

     class WorkerTaskAdapter
     {
     public:
         void operator()(Worker *task, QTaskInterface *iface) { ... }
     };

     using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;

## Member Function Documentation

### void QTaskInterface::reportDone(QtTaskTree::DoneResult result)

This method should be called when the task adapted via custom adapter is finished, passing the result of the task execution.

Assuming the Worker emits a finished(bool) signal, the adapter may look like:

     class WorkerTaskAdapter
     {
     public:
         void operator()(Worker *task, QTaskInterface *iface) {
             connect(task, &Worker::finished, iface, [iface](bool success) {
                 iface->reportDone(QtTaskTree::toDoneResult(success));
             });
             task->execute();
         }
     };

     using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;

See also QCustomTask.