8 #ifndef OS_CONDITION_HPP_ 9 #define OS_CONDITION_HPP_ 149 #endif // OS_CONDITION_HPP_ void notify() override
notify a single waiter on this condition variable
ConditionVariableInterface()=default
Default constructor.
virtual Status pend(Os::Mutex &mutex)=0
wait on a condition variable
void notifyAll() override
notify all waiters on this condition variable
ConditionVariableHandle * getHandle() override
return the underlying condition variable handle (implementation specific). Delegates to implementatio...
~ConditionVariable() final
default virtual destructor
virtual void notifyAll()=0
notify all waiters on this condition variable
U8 ConditionVariableHandleStorage[FW_CONDITION_VARIABLE_HANDLE_MAX_SIZE]
virtual ~ConditionVariableInterface()=default
Default destructor.
When trying to wait but we don't hold the mutex.
virtual ConditionVariableHandle * getHandle()=0
return the underlying condition variable handle (implementation specific).
virtual ConditionVariableInterface & operator=(const ConditionVariableInterface &other)=delete
assignment operator is forbidden
interface for condition variables
ConditionVariableInterface & operator=(const ConditionVariableInterface &other) override=delete
assignment operator is forbidden
ConditionVariable()
default constructor
static ConditionVariableInterface * getDelegate(ConditionVariableHandleStorage &aligned_new_memory)
provide a pointer to a Mutex delegate object
virtual void notify()=0
notify a single waiter on this condition variable
When trying to use a different mutex than expected mutex.
void wait(Os::Mutex &mutex)
wait on a condition variable
Condition variable handle parent.
Status pend(Os::Mutex &mutex) override
wait on a condition variable
#define FW_HANDLE_ALIGNMENT
Alignment of handle storage.
condition variable implementation
Operation was successful.
When trying to use a feature that isn't implemented.