struct Core::Portable::BackgroundTask

Abstract base class for background tasks.

#include <coreworker.h>

struct BackgroundTask: public IntrusiveLink< BackgroundTask >
{
    // fields

    BackgroundTaskID id;

    // construction

    BackgroundTask(BackgroundTaskID id = nullptr);

    // methods

    virtual void cancel();
    virtual void work() = 0;
};

// direct descendants

struct BackgroundTaskList;
struct ExternalTask;
struct LoadTask;
struct SaveTask;