LibreOffice Module vcl (master)  1
Public Member Functions | List of all members
AutoIdle Class Reference

An auto-idle is long running task processing small chunks of data, which is re-scheduled multiple times. More...

#include <idle.hxx>

Inheritance diagram for AutoIdle:
[legend]
Collaboration diagram for AutoIdle:
[legend]

Public Member Functions

 AutoIdle (const sal_Char *pDebugName)
 
- Public Member Functions inherited from Idle
 Idle (const sal_Char *pDebugName=nullptr)
 
virtual void Start () override
 Activates the timer task. More...
 
- Public Member Functions inherited from Timer
 Timer (const sal_Char *pDebugName=nullptr)
 
 Timer (const Timer &rTimer)
 
virtual ~Timer () override
 
Timeroperator= (const Timer &rTimer)
 
virtual void Invoke () override
 Calls the maInvokeHandler with the parameter this. More...
 
void Invoke (Timer *arg)
 Calls the maInvokeHandler with the parameter. More...
 
void SetInvokeHandler (const Link< Timer *, void > &rLink)
 
void ClearInvokeHandler ()
 
void SetTimeout (sal_uInt64 nTimeoutMs)
 
sal_uInt64 GetTimeout () const
 
- Public Member Functions inherited from Task
 Task (const sal_Char *pDebugName)
 
 Task (const Task &rTask)
 
virtual ~Task () COVERITY_NOEXCEPT_FALSE
 
Taskoperator= (const Task &rTask)
 
void SetPriority (TaskPriority ePriority)
 
TaskPriority GetPriority () const
 
void SetDebugName (const sal_Char *pDebugName)
 
const char * GetDebugName () const
 
void Stop ()
 
bool IsActive () const
 
void SetStatic ()
 This function must be called for static tasks, so the Task destructor ignores the SchedulerMutex, as it may not be available anymore. More...
 
bool IsStatic () const
 

Additional Inherited Members

- Protected Member Functions inherited from Idle
virtual sal_uInt64 UpdateMinPeriod (sal_uInt64 nMinPeriod, sal_uInt64 nTimeNow) const override
 How long (in MS) until the Task is ready to be dispatched? More...
 
 Idle (bool bAuto, const sal_Char *pDebugName)
 
- Protected Member Functions inherited from Timer
virtual void SetDeletionFlags () override
 
 Timer (bool bAuto, const sal_Char *pDebugName)
 
- Protected Member Functions inherited from Task
const ImplSchedulerDataGetSchedulerData () const
 
- Static Protected Member Functions inherited from Task
static void StartTimer (sal_uInt64 nMS)
 

Detailed Description

An auto-idle is long running task processing small chunks of data, which is re-scheduled multiple times.

Remember to stop the Idle when finished, as it would otherwise busy loop the CPU!

It probably makes sense to re-implement ReadyForSchedule and UpdateMinPeriod, in case there is a quick check and it can otherwise sleep.

Definition at line 58 of file idle.hxx.

Constructor & Destructor Documentation

AutoIdle::AutoIdle ( const sal_Char pDebugName)

Definition at line 60 of file idle.cxx.


The documentation for this class was generated from the following files: