/* * (c) Copyright, Real-Time Innovations, 2002-2024. * All rights reserved. * * No duplications, whole or partial, manual or electronic, may be made * without express written permission. Any such copies, or * revisions thereof, must display this notice unaltered. * This code contains trade secrets of Real-Time Innovations, Inc. */ #ifndef event_polledTimer_h #define event_polledTimer_h #ifndef event_interface_h #include "event/event_timer.h" #endif #ifndef event_dll_h #include "event/event_dll.h" #endif #ifdef __cplusplus extern "C" { #endif struct RTIEventPolledTimer; /* forward declare to appease compiler */ /*e \file \brief polled timer for OSes that don't have smart timer. */ /*e \defgroup RTIEventPolledTimerClass RTIEventPolledTimer \ingroup RTIEventTimerClass \brief simple timer that wakes up at fixed period; no smart wakeup @see RTIEventSmartTimer */ /*e \ingroup RTIEventPolledTimerClass \brief Destroy a previously created polled timer @pre no thread will call the wakeup method on this timer @post if valid, made invalid and resource returned. @param me \b In. Maybe NULL in which case noop. */ extern RTIEventDllExport void RTIEventPolledTimer_delete(struct RTIEventTimer *me); /*e \defgroup RTIEventPolledTimerPropertyClass RTIEventPolledTimerProperty \ingroup RTIEventPolledTimerClass @see RTIEventPolledTimer_new */ struct RTIEventPolledTimerProperty { /*e Must be > 0 */ struct RTINtpTime pollPeriod; }; /*e \ingroup RTIEventPolledTimerPropertyClass \brief Use to initialize variable on stack Default poll rate is 2 Hz. */ #define RTI_EVENT_POLLED_TIMER_PROPERTY_DEFAULT {{0, 0x80000000}} /*e \ingroup RTIEventPolledTimerClass \brief Create a new polled timer @param p \b In. Desired property for the timer. May be NULL to use the default property. @return Pointer to the newly created polled timer on success, NULL otherwise. @see RTIEventPolledTimer_delete */ extern RTIEventDllExport struct RTIEventTimer * RTIEventPolledTimer_new(const struct RTIEventPolledTimerProperty *p); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* event_polledTimer_h */