22#include <osl/diagnose.h>
39 std::shared_ptr< ::canvas::tools::ElapsedTime > pPresTimer ) :
40 mpTimer(
std::move( pPresTimer )),
41 maCurrentActivitiesWaiting(),
42 maCurrentActivitiesReinsert(),
43 maDequeuedActivities()
59 catch (
const uno::Exception&)
67 OSL_ENSURE( pActivity,
"ActivitiesQueue::addActivity: activity ptr NULL" );
80 OSL_ENSURE( pActivity,
"ActivitiesQueue::addTailActivity: activity ptr NULL" );
95 SAL_INFO(
"slideshow.verbose",
"ActivitiesQueue: outer loop heartbeat" );
107 fLag = std::max<double>( fLag, rxActivity->calcTimeLag() );
120 bool bReinsert(
false );
125 bReinsert = pActivity->perform();
127 catch( uno::RuntimeException& )
131 catch( uno::Exception& )
157 SAL_WARN(
"slideshow",
"::presentation::internal::ActivitiesQueue: Activity threw a SlideShowException, removing from ring" );
165 SAL_INFO(
"slideshow.verbose",
"ActivitiesQueue: inner loop heartbeat" );
183 pActivity->dequeued();
196 pActivity->dequeued();
200 pActivity->dequeued();
ActivityQueue maCurrentActivitiesWaiting
bool addActivity(const ActivitySharedPtr &pActivity)
Add the given activity to the queue.
void processDequeued()
Call all dequeued activities' dequeued() method.
ActivitiesQueue(std::shared_ptr< ::canvas::tools::ElapsedTime > pPresTimer)
Create an ActivitiesQueue.
bool isEmpty() const
Query state of the queue.
bool addTailActivity(const ActivitySharedPtr &pActivity)
Add the given activity prioritized last in the queue.
ActivityQueue maCurrentTailActivitiesWaiting
ActivityQueue maCurrentActivitiesReinsert
::std::deque< ActivitySharedPtr > ActivityQueue
std::shared_ptr< ::canvas::tools::ElapsedTime > mpTimer
ActivityQueue maDequeuedActivities
void clear()
Remove all pending activities from the queue.
void process()
Process the activities queue.
#define TOOLS_WARN_EXCEPTION(area, stream)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
::std::shared_ptr< Activity > ActivitySharedPtr