11#ifndef DEPENDENCYPOLICY_H
12#define DEPENDENCYPOLICY_H
18#include "queuepolicy.h"
44 void addDependency(
const Dependency &dep);
54 bool removeDependency(
const Dependency &dep);
70 void free(JobPointer)
override;
DependencyPolicy implements execution-time dependencies dependencies between Jobs.
Definition dependencypolicy.h:33
bool removeDependency(JobPointer jobA, JobPointer jobB)
Remove a dependency.
bool canRun(JobPointer) override
canRun() is called before the job is executed.
void destructed(JobInterface *job) override
destructing() is called when a Job that has this queue policy assigned gets destructed.
bool hasUnresolvedDependencies(JobPointer) const
Query whether the job has an unresolved dependency.
~DependencyPolicy() override
Destructor.
void resolveDependencies(JobPointer)
Resolve all dependencies for a job.
void addDependency(JobPointer jobA, JobPointer jobB)
Add jobB as a dependency of jobA.
void free(JobPointer) override
free() is called after the job has been executed.
void release(JobPointer) override
release() is called if canRun() returned true, but the job has not been executed for external reasons...
QueuePolicy is an interface for customizations of the queueing behaviour of jobs.
Definition queuepolicy.h:39