Simplified XF 1.1.0
timeoutmanager.h
1#ifndef XF_COMMON_TIMEOUTMANAGER_H
2#define XF_COMMON_TIMEOUTMANAGER_H
3
4#include <list>
5#include <config/xf-config.h>
6
7#if (USE_XF_COMMON_TIMEOUTMANAGER_CLASS != 0)
8
9#include "xf/interface/timeoutmanager.h"
10#include "xf/timeout.h"
11#include "xf/interface/mutex.h"
12
21{
23public:
24 ~XFTimeoutManager() override;
25
26 void start(std::function<void(uint32_t)> startTimeoutManagerTimer = nullptr) override;
27 void scheduleTimeout(int32_t timeoutId, int32_t interval, interface::XFBehavior * pBehavior) override;
28 void unscheduleTimeout(int32_t timeoutId, interface::XFBehavior * pBehavior) override;
29 void tick() override;
30
31protected:
33 void addTimeout(XFTimeout * pNewTimeout) override;
34
39 void returnTimeout(XFTimeout * pTimeout);
40
41protected:
42 typedef std::list<XFTimeout *> TimeoutList;
43
45
47};
48 // end of port_common group
50#endif // USE_XF_COMMON_TIMEOUTMANAGER_CLASS
51#endif // XF_COMMON_TIMEOUTMANAGER_H
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