69 lines
1.7 KiB
C++
69 lines
1.7 KiB
C++
/**
|
|
* \file PoolEntryIF.h
|
|
*
|
|
* \brief This file holds the class that defines the Interface for Pool Entry elements.
|
|
*
|
|
* \date 10/18/2012
|
|
*
|
|
* \author Bastian Baetz
|
|
*/
|
|
|
|
#ifndef POOLENTRYIF_H_
|
|
#define POOLENTRYIF_H_
|
|
|
|
#include <framework/globalfunctions/Type.h>
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
/**
|
|
* \brief This interface defines the access possibilities to a single data pool entry.
|
|
*
|
|
* \details The interface provides methods to determine the size and the validity information of a value.
|
|
* It also defines a method to receive a pointer to the raw data content.
|
|
* It is mainly used by DataPool itself, but also as a return pointer.
|
|
*
|
|
* \ingroup data_pool
|
|
*
|
|
*/
|
|
class PoolEntryIF {
|
|
public:
|
|
/**
|
|
* \brief This is an empty virtual destructor, as it is proposed for C++ interfaces.
|
|
*/
|
|
virtual ~PoolEntryIF() {
|
|
}
|
|
/**
|
|
* \brief getSize returns the array size of the entry. A single variable parameter has size 1.
|
|
*/
|
|
virtual uint8_t getSize() = 0;
|
|
/**
|
|
* \brief This operation returns the size in bytes, which is calculated by
|
|
* sizeof(type) * array_size.
|
|
*/
|
|
virtual uint16_t getByteSize() = 0;
|
|
/**
|
|
* \brief This operation returns a the address pointer casted to void*.
|
|
*/
|
|
virtual void* getRawData() = 0;
|
|
/**
|
|
* \brief This method allows to set the valid information of the pool entry.
|
|
*/
|
|
virtual void setValid(uint8_t isValid) = 0;
|
|
/**
|
|
* \brief This method allows to set the valid information of the pool entry.
|
|
*/
|
|
virtual uint8_t getValid() = 0;
|
|
/**
|
|
* \brief This is a debug method that prints all values and the valid information to the screen.
|
|
* It prints all array entries in a row.
|
|
*/
|
|
virtual void print() = 0;
|
|
/**
|
|
* Returns the type of the entry.
|
|
*/
|
|
virtual Type getType() = 0;
|
|
};
|
|
|
|
#endif /* POOLENTRYIF_H_ */
|