1#ifndef XF_COMMON_TIMEOUTMANAGER_H
2#define XF_COMMON_TIMEOUTMANAGER_H
5#include <config/xf-config.h>
7#if (USE_XF_COMMON_TIMEOUTMANAGER_CLASS != 0)
9#include "xf/interface/timeoutmanager.h"
10#include "xf/timeout.h"
11#include "xf/interface/mutex.h"
26 void start(std::function<
void(uint32_t)> startTimeoutManagerTimer =
nullptr)
override;
Used by the TimeoutManager to create and handle a timeout.
Definition: timeout.h:28
Default implementation of the XF TimeoutManager.
Definition: timeoutmanager.h:21
std::list< XFTimeout * > TimeoutList
Type used for the _timeouts property.
Definition: timeoutmanager.h:42
void start(std::function< void(uint32_t)> startTimeoutManagerTimer=nullptr) override
See interface::XFTimeoutManager.
void addTimeout(XFTimeout *pNewTimeout) override
Adds the timeout to timeouts_.
void tick() override
See interface::XFTimeoutManager.
interface::XFMutex * pMutex_
Mutex to protect access to TimeoutList.
Definition: timeoutmanager.h:46
void unscheduleTimeout(int32_t timeoutId, interface::XFBehavior *pBehavior) override
See interface::XFTimeoutManager.
void returnTimeout(XFTimeout *pTimeout)
Returns timeout back to behavioral class.
void scheduleTimeout(int32_t timeoutId, int32_t interval, interface::XFBehavior *pBehavior) override
See interface::XFTimeoutManager.
TimeoutList timeouts_
Container holding timeouts to manage.
Definition: timeoutmanager.h:44
Interface to receive and process events.
Definition: behavior.h:24
Mutex interface needed by the XF to access a mutex.
Definition: mutex.h:18
Interface for TimerManager classes (and some few 'tick' stuff already provided).
Definition: timeoutmanager.h:26
static XFTimeoutManager * getInstance()
Returns a pointer to the single instance of TimeoutManager.
Definition: timeoutmanager.cpp:18