UmberHubManager/api/lib/BrainStem2/autoGen_TimerClass_CPP.h

96 lines
3.4 KiB
C++

/////////////////////////////////////////////////////////////////////
// //
// file: autoGen_TimerClass_CPP.h //
// //
/////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2026 Acroname Inc. - All Rights Reserved //
// //
// This file is part of the BrainStem release. See the license.txt //
// file included with this package or go to //
// https://acroname.com/software/brainstem-development-kit //
// for full license details. //
/////////////////////////////////////////////////////////////////////
#ifndef __AUTOGEN_TIMER_CPP_H__
#define __AUTOGEN_TIMER_CPP_H__
#include "BrainStem-core.h"
#ifdef __GNUC__
#define DEPRECATED(...) __attribute__((deprecated(__VA_ARGS__)))
#elif defined(_MSC_VER)
#define DEPRECATED(...) __declspec(deprecated(__VA_ARGS__))
#else
#define DEPRECATED(...)
#pragma message("DEPRECATED is not defined for this compiler")
#endif
#if defined(__cplusplus)
namespace Acroname {
namespace BrainStem {
/// TimerClass:
/// The Timer Class provides access to a simple scheduler.
/// The timer can set to fire only once, or to repeat at a certain interval.
/// Additionally, a timer entity can execute custom Reflex routines upon firing.
///
class aLIBEXPORT TimerClass : public EntityClass {
public:
/// Constructor.
TimerClass(void);
/// Destructor.
virtual ~TimerClass(void);
/// Initialize the Timer Class.
///
/// \param pModule The module to which this entity belongs.
/// \param index The index of the Timer entity to be addressed.
///
void init(Module* pModule, const uint8_t index);
/// Get the currently set expiration time in microseconds.
/// This is not a "live" timer. That is, it shows the expiration time originally set with
/// setExpiration; it does not "tick down" to show the time remaining before expiration.
///
/// \param usecDuration The timer expiration duration in microseconds.
///
/// \return Returns \ref EntityReturnValues "common entity" return values
aErr getExpiration(uint32_t* usecDuration);
/// Set the expiration time for the timer entity.
/// When the timer expires, it will fire the associated timer[index]() reflex.
///
/// \param usecDuration The duration before timer expiration in microseconds.
///
/// \return Returns \ref EntityReturnValues "common entity" return values
aErr setExpiration(const uint32_t usecDuration);
/// Get the mode of the timer which is either single or repeat mode.
///
/// \param mode The mode of the time. aTIMER_MODE_REPEAT or aTIMER_MODE_SINGLE.
///
/// \return Returns \ref EntityReturnValues "common entity" return values
aErr getMode(uint8_t* mode);
/// Set the mode of the timer which is either single or repeat mode.
///
/// \param mode The mode of the timer. aTIMER_MODE_REPEAT or aTIMER_MODE_SINGLE.
///
/// \return Returns \ref EntityReturnValues "common entity" return values
aErr setMode(const uint8_t mode);
};
} // namespace BrainStem
} // namespace Acroname
#endif // defined(__cplusplus)
#endif // __AUTOGEN_TIMER_CPP_H__