13 #ifndef ML_BACKGROUND_TASK_MESSAGES_H
14 #define ML_BACKGROUND_TASK_MESSAGES_H
25 class ProcessAllPagesHandler;
39 :
BackgroundTaskMessage(), _request(nullptr), _module(module), _tileId(tileId), _resultWasSent(false) {
141 _requestId = requestId;
#define MLBACKGROUNDTASKS_EXPORT
void execute() override
Executes message when it is delivered.
BackgroundTaskFinishedMessage(BackgroundTask *task)
BackgroundTaskMLGetTileBaseMessage(BackgroundRequestId tileId, Module *module)
bool finishedProcessing() override
Returns whether the message needs further processing or if it may be deleted.
BackgroundRequestId _tileId
GetTileJobBase * _request
virtual void sendFinishedRequest()=0
virtual void sendProgress()=0
void taskWillBeDestroyed() override
This needs to be implemented if the message uses finishedProcessing() and the task is finished while ...
void executeSynchronous() override
Executes message when it is delivered and the task runs synchronously.
static void tileRequestFinishedCB(void *data, TileRequest *request)
~BackgroundTaskMLGetTileBaseMessage() override
virtual void sendFailedRequest()=0
void sendFailedRequest() override
BackgroundTaskMLGetTileMessage(BackgroundRequestId tileId, Module *module, int inputImageIndex, MLDataType type, const SubImageBox &box, const ScaleShiftData &shift=ScaleShiftData(), int getTileFlags=0, ManagedSubImage *externalBuffer=nullptr)
void sendProgress() override
~BackgroundTaskMLGetTileMessage() override
void sendFinishedRequest() override
void execute() override
Executes message when it is delivered.
void execute() override
Executes message when it is delivered.
BackgroundTaskMLGetTileResultMessage(ImagingBackgroundTask *task, BackgroundRequestId tileId, ManagedSubImage *img)
~BackgroundTaskMLGetTileResultMessage() override
void sendFinishedRequest() override
void sendProgress() override
void execute() override
Executes message when it is delivered.
~BackgroundTaskMLProcessAllPagesMessage() override
BackgroundTaskMLProcessAllPagesMessage(BackgroundRequestId tileId, Module *module, ProcessAllPagesHandler *handler, const SubImageBox &box)
void sendFailedRequest() override
BackgroundTaskMLProcessAllPagesResultMessage(ImagingBackgroundTask *task, BackgroundRequestId requestId, ProcessAllPagesHandler *handler)
~BackgroundTaskMLProcessAllPagesResultMessage() override
void execute() override
Executes message when it is delivered.
The base class of all background messages.
void setSender(BackgroundTask *task)
Sets who sends the message. Default is NULL and this means that the message's sender is not a Backgro...
Base class for a task that is started in an extra thread.
Base class for TileRequest based jobs.
ManagedSubImage is derived from SubImage and frees its allocated memory automatically when it is dest...
Base class for an image processing module of the ML.
Base class for handlers that are used for the Module::processAllPages facility.
A TileRequest either represents the input subimage that is needed by a PageRequest or if it is a root...
MLint32 MLDataType
MLDataType.
TScaleShiftData< MLdouble > ScaleShiftData
Double version of TScaleShiftData for maximum reasonable precision.
MLuint32 BackgroundRequestId
The ID of a tile request.