TracktionEngine
|
Manages a set of background tasks that can be run concurrently on a background thread. More...
#include <tracktion_BackgroundJobs.h>
Inherits juce::AsyncUpdater, and juce::Timer.
Classes | |
struct | JobInfo |
class | Listener |
Public Member Functions | |
BackgroundJobManager () | |
~BackgroundJobManager () override | |
void | addJob (ThreadPoolJobWithProgress *job, bool takeOwnership) |
void | removeJob (ThreadPoolJobWithProgress *job, bool interruptIfRunning, int timeOutMilliseconds) |
void | stopAndDeleteAllRunningJobs () |
void | signalJobShouldExit (const JobInfo &info) |
JobInfo | getJobInfo (int index) const noexcept |
int | getNumJobs () const noexcept |
float | getTotalProgress () const noexcept |
juce::ThreadPool & | getPool () noexcept |
void | addListener (Listener *l) |
void | removeListener (Listener *l) |
Manages a set of background tasks that can be run concurrently on a background thread.
This is essentially a wrapper around a ThreadPool which adds a listener interface so you can create UI elements to represent the list.
tracktion::engine::BackgroundJobManager::BackgroundJobManager | ( | ) |
|
override |
void tracktion::engine::BackgroundJobManager::addJob | ( | ThreadPoolJobWithProgress * | job, |
bool | takeOwnership | ||
) |
void tracktion::engine::BackgroundJobManager::removeJob | ( | ThreadPoolJobWithProgress * | job, |
bool | interruptIfRunning, | ||
int | timeOutMilliseconds | ||
) |
void tracktion::engine::BackgroundJobManager::stopAndDeleteAllRunningJobs | ( | ) |
void tracktion::engine::BackgroundJobManager::signalJobShouldExit | ( | const JobInfo & | info | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
void tracktion::engine::BackgroundJobManager::addListener | ( | Listener * | l | ) |
void tracktion::engine::BackgroundJobManager::removeListener | ( | Listener * | l | ) |