LibreOffice Module slideshow (master) 1
Public Member Functions | Private Attributes | List of all members
slideshow::internal::WakeupEvent Class Reference

Little helper class, used to set Activities active again after some sleep period. More...

#include <wakeupevent.hxx>

Inheritance diagram for slideshow::internal::WakeupEvent:
[legend]
Collaboration diagram for slideshow::internal::WakeupEvent:
[legend]

Public Member Functions

 WakeupEvent (std::shared_ptr< ::canvas::tools::ElapsedTime > const &pTimeBase, ActivitiesQueue &rActivityQueue)
 
 WakeupEvent (const WakeupEvent &)=delete
 
WakeupEventoperator= (const WakeupEvent &)=delete
 
virtual void dispose () override
 Dispose all object references. More...
 
virtual bool fire () override
 Execute the event. More...
 
virtual bool isCharged () const override
 Query whether this event is still charged, i.e. More...
 
virtual double getActivationTime (double nCurrentTime) const override
 Query the activation time instant this event shall be fired, if it was inserted at instant nCurrentTime into the queue. More...
 
void start ()
 Start the internal timer. More...
 
void setNextTimeout (double nextTime)
 Set the next timeout this object should generate. More...
 
void setActivity (const ActivitySharedPtr &rActivity)
 Set activity to wakeup. More...
 
- Public Member Functions inherited from slideshow::internal::Event
 Event (OUString sDescription)
 
virtual bool fire ()=0
 Execute the event. More...
 
virtual bool isCharged () const =0
 Query whether this event is still charged, i.e. More...
 
virtual double getActivationTime (double nCurrentTime) const =0
 Query the activation time instant this event shall be fired, if it was inserted at instant nCurrentTime into the queue. More...
 
const OUString & GetDescription () const
 
- Public Member Functions inherited from slideshow::internal::Disposable
virtual ~Disposable ()
 
virtual void dispose ()=0
 Dispose all object references. More...
 

Private Attributes

::canvas::tools::ElapsedTime maTimer
 
double mnNextTime
 
ActivitySharedPtr mpActivity
 
ActivitiesQueuemrActivityQueue
 

Detailed Description

Little helper class, used to set Activities active again after some sleep period.

Clients can use this class to schedule wakeup events at the EventQueue, to avoid busy-waiting for the next discrete time instant.

Definition at line 36 of file wakeupevent.hxx.

Constructor & Destructor Documentation

◆ WakeupEvent() [1/2]

slideshow::internal::WakeupEvent::WakeupEvent ( std::shared_ptr< ::canvas::tools::ElapsedTime > const &  pTimeBase,
ActivitiesQueue rActivityQueue 
)

◆ WakeupEvent() [2/2]

slideshow::internal::WakeupEvent::WakeupEvent ( const WakeupEvent )
delete

Member Function Documentation

◆ dispose()

void slideshow::internal::WakeupEvent::dispose ( )
overridevirtual

Dispose all object references.

An implementor of this method must first call dispose() on any of its external references, and release them after that.

Implements slideshow::internal::Disposable.

Definition at line 40 of file wakeupevent.cxx.

◆ fire()

bool slideshow::internal::WakeupEvent::fire ( )
overridevirtual

Execute the event.

Returns
true, if event was successfully executed.

Implements slideshow::internal::Event.

Definition at line 45 of file wakeupevent.cxx.

◆ getActivationTime()

double slideshow::internal::WakeupEvent::getActivationTime ( double  nCurrentTime) const
overridevirtual

Query the activation time instant this event shall be fired, if it was inserted at instant nCurrentTime into the queue.

Parameters
nCurrentTimeThe time from which the activation time is to be calculated from.
Returns
the time instant in seconds, on which this event is to be fired.

Implements slideshow::internal::Event.

Definition at line 60 of file wakeupevent.cxx.

◆ isCharged()

bool slideshow::internal::WakeupEvent::isCharged ( ) const
overridevirtual

Query whether this event is still charged, i.e.

able to fire.

Inactive events are ignored by the normal event containers (EventQueue, UserEventQueue etc.), and no explicit fire() is called upon them.

Returns
true, if this event has already been fired.

Implements slideshow::internal::Event.

Definition at line 53 of file wakeupevent.cxx.

◆ operator=()

WakeupEvent & slideshow::internal::WakeupEvent::operator= ( const WakeupEvent )
delete

◆ setActivity()

void slideshow::internal::WakeupEvent::setActivity ( const ActivitySharedPtr rActivity)

Set activity to wakeup.

The activity given here will be reinserted into the ActivitiesQueue, once the timeout is reached.

Definition at line 79 of file wakeupevent.cxx.

◆ setNextTimeout()

void slideshow::internal::WakeupEvent::setNextTimeout ( double  nextTime)

Set the next timeout this object should generate.

Parameters
nextTimeAbsolute time, measured from the last start() call, when this event should wakeup the Activity again. If your time is relative, simply call start() just before every setNextTimeout() call.

Definition at line 74 of file wakeupevent.cxx.

◆ start()

void slideshow::internal::WakeupEvent::start ( )

Start the internal timer.

Definition at line 68 of file wakeupevent.cxx.

Member Data Documentation

◆ maTimer

::canvas::tools::ElapsedTime slideshow::internal::WakeupEvent::maTimer
private

Definition at line 71 of file wakeupevent.hxx.

◆ mnNextTime

double slideshow::internal::WakeupEvent::mnNextTime
private

Definition at line 72 of file wakeupevent.hxx.

◆ mpActivity

ActivitySharedPtr slideshow::internal::WakeupEvent::mpActivity
private

Definition at line 73 of file wakeupevent.hxx.

◆ mrActivityQueue

ActivitiesQueue& slideshow::internal::WakeupEvent::mrActivityQueue
private

Definition at line 74 of file wakeupevent.hxx.


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