2016-06-15 23:48:41 +02:00
|
|
|
/*
|
|
|
|
* \file PoolVariableIF.h
|
|
|
|
*
|
|
|
|
* \brief This file contains the interface definition for pool variables.
|
|
|
|
*
|
|
|
|
* \date 10/17/2012
|
|
|
|
*
|
|
|
|
* \author Bastian Baetz
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef POOLVARIABLEIF_H_
|
|
|
|
#define POOLVARIABLEIF_H_
|
|
|
|
|
2020-08-13 20:53:35 +02:00
|
|
|
#include "../returnvalues/HasReturnvaluesIF.h"
|
|
|
|
#include "../serialize/SerializeIF.h"
|
2016-06-15 23:48:41 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief This interface is used to control local data pool variable representations.
|
|
|
|
*
|
|
|
|
* \details To securely handle data pool variables, all pool entries are locally managed by
|
|
|
|
* data pool variable access classes, which are called pool variables. To ensure a
|
|
|
|
* common state of a set of variables needed in a function, these local pool variables
|
|
|
|
* again are managed by other classes, e.g. the DataSet. This interface provides unified
|
|
|
|
* access to local pool variables for such manager classes.
|
|
|
|
* \ingroup data_pool
|
|
|
|
*/
|
|
|
|
class PoolVariableIF : public SerializeIF {
|
|
|
|
friend class DataSet;
|
|
|
|
protected:
|
|
|
|
/**
|
|
|
|
* \brief The commit call shall write back a newly calculated local value to the data pool.
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t commit() = 0;
|
|
|
|
/**
|
|
|
|
* \brief The read call shall read the value of this parameter from the data pool and store
|
|
|
|
* the content locally.
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t read() = 0;
|
|
|
|
public:
|
|
|
|
static const uint8_t VALID = 1;
|
|
|
|
static const uint8_t INVALID = 0;
|
|
|
|
static const uint32_t NO_PARAMETER = 0;
|
|
|
|
enum ReadWriteMode_t {
|
|
|
|
VAR_READ, VAR_WRITE, VAR_READ_WRITE
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \brief This is an empty virtual destructor, as it is proposed for C++ interfaces.
|
|
|
|
*/
|
|
|
|
virtual ~PoolVariableIF() {
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* \brief This method returns if the variable is write-only, read-write or read-only.
|
|
|
|
*/
|
|
|
|
virtual ReadWriteMode_t getReadWriteMode() const = 0;
|
|
|
|
/**
|
|
|
|
* \brief This operation shall return the data pool id of the variable.
|
|
|
|
*/
|
|
|
|
virtual uint32_t getDataPoolId() const = 0;
|
|
|
|
/**
|
|
|
|
* \brief With this call, the valid information of the variable is returned.
|
|
|
|
*/
|
|
|
|
virtual bool isValid() const = 0;
|
|
|
|
/**
|
|
|
|
* \brief With this call, the valid information of the variable is set.
|
|
|
|
*/
|
|
|
|
virtual void setValid(uint8_t validity) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* POOLVARIABLEIF_H_ */
|