29#if !defined( __INOS_1MS_H )
127 typedef std::function<
void()> tFunction;
136 virtual void Call() { m_Function(); }
142 const tFunction m_Function;
258 { m_pTickAddress =
apAddress; *m_pTickAddress = 0; };
278 template<
typename TFct>
311 template<
typename TFct>
343 int32* m_pTickAddress = 0;
348 uint32 m_uTicksFor1ms = 0;
357 eThresholdMultiplier = 10
359 uint32 m_uTicksThresholdToSwitchSelected = 0;
362 uint32 m_uCountOfReselection = 0;
365 volatile uint32 m_uMostRecentlyResumedTicks = 0;
368 uint32 m_uOverrun = 0;
372 uint32 m_uWakeUpCount = 0;
427#define pINOS1ms CINOS1ms::pInstance()
430#define g_pINOS1ms CINOS1ms::pInstance()
#define DECLARE_DYNAMIC_PLACEMENT(aClass)
Definition cinospartitionmemory.h:348
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Definition inos_1ms.h:175
void RemoveHandler(CINOSxmsHandlerBase *aHandler, bool aDelete=true)
bool KickExactly(CINOSTask *apSource=0) INOS_COMPILE_OPTIMIZED
uint32 GetSystemTicksAtLast1msTick()
Definition inos_1ms.h:260
void AddHandler(CINOSxmsHandlerBase *aHandler)
int32 GetTickCount()
Definition inos_1ms.h:248
bool KickSporadically() INOS_COMPILE_OPTIMIZED
void ClearInterval(tIntervalId &aIntervalId)
Definition inos_1ms.h:288
void SetTimeout(TFct aFct, uint32 aTimeoutMs, tTimeoutId &aTimeoutId)
Definition inos_1ms.h:312
void SetInterval(TFct aFct, uint32 aIntervalMs, tIntervalId &aIntervalId)
Definition inos_1ms.h:279
static CINOSMutex m_Mutex
public
Definition inos_1ms.h:413
int32 GetTickDelta(int32 aiTickCount)
Definition inos_1ms.h:251
static CINOS1ms & Instance()
singleton
virtual void Action()
Task action loop, needs to be overwritten by the user. For more info, see section Creation.
static uint32 m_uCoreMask
core mask
Definition inos_1ms.h:415
CINOSxmsHandler * AddHandler(void *aHandler, void *aObject, int32 aMS, bool aActive=true, bool aSingle=false)
void eAddTimer(uint32 aTimerPtr)
bool HasHandlers(uint32 auNumber)
Definition inos_1ms.h:330
CINOSxmsHandlerFunction * AddHandler(uintptr_t &aTimeoutId, const CINOSxmsHandlerFunction::tFunction &aFunction, int32 aMS, bool aActive=true, bool aSingle=false)
void AddTimer(int32 *aTimer)
int32 * GetTickAddress()
Definition inos_1ms.h:254
void SetTickAddress(int32 *apAddress)
Definition inos_1ms.h:257
void ClearTimeout(tTimeoutId &aTimeoutId)
Definition inos_1ms.h:321
Definition cinosbushooks.h:145
void SetIntervalCmd(uint32 auInterval)
Set hook interval.
Definition cinosbushooks.h:163
uint32 GetIntervalAct() const
Get actual hook interval counter.
Definition cinosbushooks.h:180
uint32 GetIntervalCmd()
Get commanded hook interval.
Definition cinosbushooks.h:173
uint32 Disable()
Disable hook.
uint32 Enable()
Enable hook.
Definition cinosbushooks.h:479
bool HasHooks(uint32 auNumber)
Check whether the given number of hooks are still available.
Definition cinosbushooks.h:880
Definition cinosmcmodule.h:1900
Definition cinosmutex.h:36
Definition cinostask.h:52
long GetTimer() const
Definition inos_1ms.h:75
Definition inos_1ms.h:123
virtual void Call()
Definition inos_1ms.h:136
virtual void Call()
Definition inos_1ms.h:107