#define FW_HANDLE_ALIGNMENT
Alignment of handle storage.
C++-compatible configuration header for fprime configuration.
U8 MutexHandleStorage[FW_MUTEX_HANDLE_MAX_SIZE]
~Mutex() final
Destructor.
MutexHandle * getHandle() override
return the underlying mutex handle (implementation specific)
void unlock()
alias for unLock to meet BasicLockable requirements
void unLock()
unlock the mutex and assert success
void lock()
lock the mutex and assert success
Mutex()
Constructor. Mutex is unlocked when created.
Status take() override
lock the mutex and get return status
Status release() override
unlock the mutex and get return status
virtual Status take()=0
lock the mutex return status
MutexInterface(const MutexInterface *other)=delete
copy constructor is forbidden
virtual MutexHandle * getHandle()=0
return the underlying mutex handle (implementation specific)
MutexInterface()=default
default constructor
MutexInterface(const MutexInterface &other)=delete
copy constructor is forbidden
MutexInterface & operator=(const MutexInterface &other)=delete
assignment operator is forbidden
virtual ~MutexInterface()=default
default virtual destructor
@ OP_OK
Operation was successful.
@ ERROR_BUSY
Mutex is busy.
@ ERROR_DEADLOCK
Deadlock condition detected.
@ ERROR_OTHER
All other errors.
virtual Status release()=0
unlock the mutex return status
static MutexInterface * getDelegate(MutexHandleStorage &aligned_new_memory)
provide a pointer to a Mutex delegate object
locks a mutex within the current scope
ScopeLock(const ScopeLock *other)=delete
copy constructor is forbidden
ScopeLock(const ScopeLock &other)=delete
copy constructor is forbidden
~ScopeLock()
unlock the scoped mutex
ScopeLock & operator=(const ScopeLock &other)=delete
assignment operator is forbidden
ScopeLock(Mutex &mutex)
construct the scope lock