#ifndef FRAMEWORK_OSAL_LINUX_TIMER_H_ #define FRAMEWORK_OSAL_LINUX_TIMER_H_ #include #include #include /** * This class is a helper for the creation of a Clock Monotonic timer which does not trigger a signal */ class Timer { public: /** * Creates the Timer sets the timerId Member */ Timer(); /** * Deletes the timer * * Careful! According to POSIX documentation: * The treatment of any pending signal generated by the deleted timer is unspecified. */ virtual ~Timer(); /** * Set the timer given in timerId to the given interval * * @param intervalMs Interval in ms to be set * @return 0 on Success 1 else */ int setTimer(uint32_t intervalMs); /** * Get the remaining time of the timer * * @param remainingTimeMs Pointer to integer value which is used to return the remaining time * @return 0 on Success 1 else (see timer_getime documentation of posix function) */ int getTimer(uint32_t* remainingTimeMs); private: timer_t timerId; }; #endif /* FRAMEWORK_OSAL_LINUX_TIMER_H_ */