Queue for music library jobs.
More...
#include <MusicLibraryQueue.h>
|
void | OnJobComplete (unsigned int jobID, bool success, CJob *job) override |
| The callback used when a job completes. More...
|
|
void | Refresh () |
| Notifies all to refresh the current listings.
|
|
bool | QueueEmpty () const |
| Returns if we still have jobs waiting to be processed NOTE: This function does not take into account the jobs that are currently processing.
|
|
| CJobQueue (bool lifo=false, unsigned int jobsAtOnce=1, CJob::PRIORITY priority=CJob::PRIORITY_LOW) |
| CJobQueue constructor. More...
|
|
| ~CJobQueue () override |
| CJobQueue destructor Cancels any in-process jobs, and destroys the job queue. More...
|
|
bool | AddJob (CJob *job) |
| Add a job to the queue On completion of the job, destruction of the job queue or in case the job could not be added successfully, the CJob object will be destroyed. More...
|
|
template<typename F > |
void | Submit (F &&f) |
| Add a function f to this job queue.
|
|
void | CancelJob (const CJob *job) |
| Cancel a job in the queue Cancels a job in the queue. Any job currently being processed may complete after this call has completed, but OnJobComplete will not be performed. If the job is only queued then it will be removed from the queue and deleted. More...
|
|
void | CancelJobs () |
| Cancel all jobs in the queue Removes all jobs from the queue. Any job currently being processed may complete after this call has completed, but OnJobComplete will not be performed. More...
|
|
bool | IsProcessing () const |
| Check whether the queue is processing a job.
|
|
void | OnJobComplete (unsigned int jobID, bool success, CJob *job) override |
| The callback used when a job completes. More...
|
|
void | OnJobAbort (unsigned int jobID, CJob *job) override |
| The callback used when a job will be aborted. More...
|
|
virtual | ~IJobCallback ()=default |
| Destructor for job call back objects. More...
|
|
virtual void | OnJobProgress (unsigned int jobID, unsigned int progress, unsigned int total, const CJob *job) |
| An optional callback function that a job may call while processing. More...
|
|
Queue for music library jobs.
The queue can only process a single job at any time and every job will be executed at the lowest priority.
◆ AddJob()
Adds the given job to the queue.
- Parameters
-
[in] | job | Music library job to be queued. |
◆ CancelJob()
Cancels the given job and removes it from the queue.
- Parameters
-
[in] | job | Music library job to be canceled and removed from the queue. |
◆ CleanLibrary()
void CMusicLibraryQueue::CleanLibrary |
( |
bool |
showDialog = false | ) |
|
Enqueue an asynchronous library cleaning job.
- Parameters
-
[in] | showDialog | Show a model progress dialog while cleaning. Default is false. |
◆ ExportLibrary()
void CMusicLibraryQueue::ExportLibrary |
( |
const CLibExportSettings & |
settings, |
|
|
bool |
showDialog = false |
|
) |
| |
Enqueue a music library export job.
- Parameters
-
[in] | settings | Library export settings |
[in] | showDialog | Show a progress dialog while (asynchronously) exporting, otherwise export in synchronous |
◆ ImportLibrary()
void CMusicLibraryQueue::ImportLibrary |
( |
const std::string & |
xmlFile, |
|
|
bool |
showDialog = false |
|
) |
| |
Enqueue a music library import job.
- Parameters
-
[in] | xmlFile | xml file to import |
[in] | showDialog | Show a progress dialog while (asynchronously) exporting, otherwise export in synchronous |
◆ IsScanningLibrary()
bool CMusicLibraryQueue::IsScanningLibrary |
( |
| ) |
const |
Check if a library scan or cleaning is in progress.
- Returns
- True if a scan or clean is in progress, false otherwise
◆ OnJobComplete()
void CMusicLibraryQueue::OnJobComplete |
( |
unsigned int |
jobID, |
|
|
bool |
success, |
|
|
CJob * |
job |
|
) |
| |
|
overrideprotectedvirtual |
The callback used when a job completes.
OnJobComplete is called at the completion of the job's DoWork() function, and is used to return information to the caller on the result of the job. On returning form this function the CJobManager will destroy this job.
- Parameters
-
jobID | the unique id of the job (as retrieved from CJobManager::AddJob) |
success | the result from the DoWork call |
job | the job that has been processed. The job will be destroyed after this function returns |
- See also
- CJobManager and CJob
Implements IJobCallback.
◆ ScanLibrary()
void CMusicLibraryQueue::ScanLibrary |
( |
const std::string & |
strDirectory, |
|
|
int |
flags = 0 , |
|
|
bool |
showProgress = true |
|
) |
| |
Enqueue a music library update job, scanning tags embedded in music files and optionally scraping additional data.
- Parameters
-
[in] | strDirectory | Directory to scan or "" (empty string) for a global scan. |
[in] | flags | Flags for controlling the scanning process. See xbmc/music/infoscanner/MusicInfoScanner.h for possible values. |
[in] | showProgress | Whether or not to show a progress dialog. Defaults to true |
◆ StartAlbumScan()
void CMusicLibraryQueue::StartAlbumScan |
( |
const std::string & |
strDirectory, |
|
|
bool |
refresh = false |
|
) |
| |
Enqueue an album scraping job fetching additional album data.
- Parameters
-
[in] | strDirectory | Virtual path that identifies which albums to process or "" (empty string) for all albums |
[in] | refresh | Whether or not to refresh data for albums that have previously been scraped |
◆ StartArtistScan()
void CMusicLibraryQueue::StartArtistScan |
( |
const std::string & |
strDirectory, |
|
|
bool |
refresh = false |
|
) |
| |
Enqueue an artist scraping job fetching additional artist data.
- Parameters
-
[in] | strDirectory | Virtual path that identifies which artists to process or "" (empty string) for all artists |
[in] | refresh | Whether or not to refresh data for artists that have previously been scraped |
The documentation for this class was generated from the following files: