fsfw/src/fsfw/datapool/ReadCommitIFAttorney.h

31 lines
822 B
C
Raw Normal View History

2021-02-28 13:48:53 +01:00
#ifndef FSFW_DATAPOOL_READCOMMITIFATTORNEY_H_
#define FSFW_DATAPOOL_READCOMMITIFATTORNEY_H_
#include <fsfw/datapool/ReadCommitIF.h>
2022-08-16 12:48:22 +02:00
#include <fsfw/returnvalues/returnvalue.h>
2021-02-28 13:48:53 +01:00
/**
* @brief This class determines which members are allowed to access protected members
* of the ReadCommitIF.
*/
class ReadCommitIFAttorney {
2022-02-02 10:29:30 +01:00
private:
static ReturnValue_t readWithoutLock(ReadCommitIF* readCommitIF) {
if (readCommitIF == nullptr) {
2022-08-15 20:28:16 +02:00
return returnvalue::FAILED;
2021-02-28 13:48:53 +01:00
}
2022-02-02 10:29:30 +01:00
return readCommitIF->readWithoutLock();
}
2021-02-28 13:48:53 +01:00
2022-02-02 10:29:30 +01:00
static ReturnValue_t commitWithoutLock(ReadCommitIF* readCommitIF) {
if (readCommitIF == nullptr) {
2022-08-15 20:28:16 +02:00
return returnvalue::FAILED;
2021-02-28 13:48:53 +01:00
}
2022-02-02 10:29:30 +01:00
return readCommitIF->commitWithoutLock();
}
2021-02-28 13:48:53 +01:00
2022-02-02 10:29:30 +01:00
friend class PoolDataSetBase;
2021-02-28 13:48:53 +01:00
};
#endif /* FSFW_DATAPOOL_READCOMMITIFATTORNEY_H_ */