RTOS Wrapper
API reference
Loading...
Searching...
No Matches
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
OsEventFlags< kReserved > Class Template Reference

Eager-init event-flag group with modern C++ public surface. More...

#include <OsEventFlags.h>

Public Member Functions

 OsEventFlags (const char *groupName) noexcept
 
 OsEventFlags (const OsEventFlags &)=delete
 
OsEventFlags & operator= (const OsEventFlags &)=delete
 
 ~OsEventFlags () noexcept
 
bool IsValid () const noexcept
 True if the underlying RTOS handle was created successfully.
 
bool Set (uint32_t bits) noexcept
 Set bits in the group.
 
bool Clear (uint32_t bits) noexcept
 Clear bits in the group.
 
bool Wait (uint32_t bits, WaitMode mode, uint32_t timeout_ms, uint32_t &actual_bits) noexcept
 Wait for bits to be set per mode, up to timeout_ms.
 

Static Private Member Functions

static OS_Ulong ToTicks (uint32_t timeout_ms) noexcept
 

Private Attributes

const char * name_
 
bool created_ {false}
 
OS_EventGroup group_ {}
 

Detailed Description

template<size_t kReserved = 1>
class OsEventFlags< kReserved >

Eager-init event-flag group with modern C++ public surface.

Template Parameters
kReservedUnused; kept for source compatibility. Pass anything.

Constructor & Destructor Documentation

◆ OsEventFlags() [1/2]

template<size_t kReserved = 1>
OsEventFlags< kReserved >::OsEventFlags ( const char *  groupName)
inlineexplicitnoexcept

◆ OsEventFlags() [2/2]

template<size_t kReserved = 1>
OsEventFlags< kReserved >::OsEventFlags ( const OsEventFlags< kReserved > &  )
delete

◆ ~OsEventFlags()

template<size_t kReserved = 1>
OsEventFlags< kReserved >::~OsEventFlags ( )
inlinenoexcept

Member Function Documentation

◆ Clear()

template<size_t kReserved = 1>
bool OsEventFlags< kReserved >::Clear ( uint32_t  bits)
inlinenoexcept

Clear bits in the group.

◆ IsValid()

template<size_t kReserved = 1>
bool OsEventFlags< kReserved >::IsValid ( ) const
inlinenoexcept

True if the underlying RTOS handle was created successfully.

◆ operator=()

template<size_t kReserved = 1>
OsEventFlags & OsEventFlags< kReserved >::operator= ( const OsEventFlags< kReserved > &  )
delete

◆ Set()

template<size_t kReserved = 1>
bool OsEventFlags< kReserved >::Set ( uint32_t  bits)
inlinenoexcept

Set bits in the group.

◆ ToTicks()

template<size_t kReserved = 1>
static OS_Ulong OsEventFlags< kReserved >::ToTicks ( uint32_t  timeout_ms)
inlinestaticprivatenoexcept

◆ Wait()

template<size_t kReserved = 1>
bool OsEventFlags< kReserved >::Wait ( uint32_t  bits,
WaitMode  mode,
uint32_t  timeout_ms,
uint32_t &  actual_bits 
)
inlinenoexcept

Wait for bits to be set per mode, up to timeout_ms.

Bits are NOT cleared on return.

Parameters
[in]bitsBit mask to wait for.
[in]modeANY or ALL semantics.
[in]timeout_msMax wait in ms; pass UINT32_MAX to wait forever.
[out]actual_bitsBits seen at wake-time (for ANY mode caller can tell which fired).
Returns
true on success (bits satisfied), false on timeout.

Member Data Documentation

◆ created_

template<size_t kReserved = 1>
bool OsEventFlags< kReserved >::created_ {false}
private

◆ group_

template<size_t kReserved = 1>
OS_EventGroup OsEventFlags< kReserved >::group_ {}
private

◆ name_

template<size_t kReserved = 1>
const char* OsEventFlags< kReserved >::name_
private

The documentation for this class was generated from the following file: