Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
Basic implementation of a CJob with a progress bar to indicate the progress of the job being processed. More...
#include <ProgressJob.h>
Public Member Functions | |
~CProgressJob () override | |
const char * | GetType () const override |
Function that returns the type of job. | |
bool | operator== (const CJob *job) const override |
bool | ShouldCancel (unsigned int progress, unsigned int total) const override |
Function for longer jobs to report progress and check whether they have been cancelled. | |
bool | DoModal () |
Executes the job showing a modal progress dialog. | |
void | SetProgressIndicators (CGUIDialogProgressBarHandle *progressBar, CGUIDialogProgress *progressDialog, bool updateProgress=true, bool updateInformation=true) |
Sets the given progress indicators to be used during execution of the job. | |
bool | HasProgressIndicator () const |
Public Member Functions inherited from CJob | |
CJob () | |
virtual | ~CJob ()=default |
Destructor for job objects. | |
virtual bool | DoWork ()=0 |
Main workhorse function of CJob instances. | |
Protected Member Functions | |
CProgressJob () | |
CProgressJob (CGUIDialogProgressBarHandle *progressBar) | |
bool | IsModal () const |
Whether the job is being run modally or in the background. | |
CGUIDialogProgressBarHandle * | GetProgressBar () const |
Returns the progress bar indicating the progress of the job. | |
void | SetProgressBar (CGUIDialogProgressBarHandle *progress) |
Sets the progress bar indicating the progress of the job. | |
CGUIDialogProgress * | GetProgressDialog () const |
Returns the progress dialog indicating the progress of the job. | |
void | SetProgressDialog (CGUIDialogProgress *progressDialog) |
Sets the progress bar indicating the progress of the job. | |
bool | GetAutoClose () |
Whether to automatically close the progress indicator in MarkFinished(). | |
void | SetAutoClose (bool autoClose) |
Set whether to automatically close the progress indicator in MarkFinished(). | |
bool | GetUpdateProgress () |
Whether to update the progress bar or not. | |
void | SetUpdateProgress (bool updateProgress) |
Set whether to update the progress bar or not. | |
bool | GetUpdateInformation () |
Whether to update the progress information or not. | |
void | SetUpdateInformation (bool updateInformation) |
Set whether to update the progress information or not. | |
void | ShowProgressDialog () const |
Makes sure that the modal dialog is being shown. | |
void | SetTitle (const std::string &title) |
Sets the given title as the title of the progress bar. | |
void | SetText (const std::string &text) |
Sets the given text as the description of the progress bar. | |
void | SetProgress (float percentage) const |
Sets the progress of the progress bar to the given value in percentage. | |
void | SetProgress (int currentStep, int totalSteps) const |
Sets the progress of the progress bar to the given value. | |
void | MarkFinished () |
Marks the progress as finished by setting it to 100%. | |
bool | IsCancelled () const |
Checks if the progress dialog has been cancelled. | |
Additional Inherited Members | |
Public Types inherited from CJob | |
enum | PRIORITY { PRIORITY_LOW_PAUSABLE = 0 , PRIORITY_LOW , PRIORITY_NORMAL , PRIORITY_HIGH , PRIORITY_DEDICATED } |
Priority levels for jobs, specified by clients when adding jobs to the CJobManager. More... | |
Basic implementation of a CJob with a progress bar to indicate the progress of the job being processed.
|
override |
|
protected |
|
explicitprotected |
bool CProgressJob::DoModal | ( | ) |
Executes the job showing a modal progress dialog.
|
inlineprotected |
Whether to automatically close the progress indicator in MarkFinished().
|
inlineprotected |
Returns the progress bar indicating the progress of the job.
|
inlineprotected |
Returns the progress dialog indicating the progress of the job.
|
inlineoverridevirtual |
Function that returns the type of job.
CJob subclasses may optionally implement this function to specify the type of job. This is useful for the CJobManager::AddLIFOJob() routine, which preempts similar jobs with the new job.
Reimplemented from CJob.
Reimplemented in CVideoLibraryCleaningJob, CVideoLibraryProgressJob, and CVideoLibraryRefreshingJob.
|
inlineprotected |
Whether to update the progress information or not.
|
inlineprotected |
Whether to update the progress bar or not.
bool CProgressJob::HasProgressIndicator | ( | ) | const |
|
protected |
Checks if the progress dialog has been cancelled.
|
inlineprotected |
Whether the job is being run modally or in the background.
|
protected |
Marks the progress as finished by setting it to 100%.
Reimplemented from CJob.
Reimplemented in CVideoLibraryCleaningJob, CVideoLibraryProgressJob, and CVideoLibraryRefreshingJob.
Set whether to automatically close the progress indicator in MarkFinished().
|
protected |
Sets the progress of the progress bar to the given value in percentage.
[in] | percentage | Percentage to be set as the current progress |
Sets the progress of the progress bar to the given value.
[in] | currentStep | Current step being processed |
[in] | totalSteps | Total steps to be processed |
|
inlineprotected |
Sets the progress bar indicating the progress of the job.
|
inlineprotected |
Sets the progress bar indicating the progress of the job.
void CProgressJob::SetProgressIndicators | ( | CGUIDialogProgressBarHandle * | progressBar, |
CGUIDialogProgress * | progressDialog, | ||
bool | updateProgress = true, | ||
bool | updateInformation = true ) |
Sets the given progress indicators to be used during execution of the job.
This automatically disables auto-closing the given progress indicators once the job has been finished.
progressBar | Progress bar handle to be used. |
progressDialog | Progress dialog to be used. |
updateProgress | (optional) Whether to show progress updates. |
updateInformation | (optional) Whether to show progress information. |
|
protected |
Sets the given text as the description of the progress bar.
[in] | text | Text to be set |
|
protected |
Sets the given title as the title of the progress bar.
[in] | title | Title to be set |
Set whether to update the progress information or not.
Set whether to update the progress bar or not.
Function for longer jobs to report progress and check whether they have been cancelled.
Jobs that contain loops that may take time should check this routine each iteration of the loop, both to (optionally) report progress, and to check for cancellation.
progress | the amount of the job performed, out of total. |
total | the total amount of processing to be performed |
Reimplemented from CJob.
|
protected |
Makes sure that the modal dialog is being shown.