fesa-core  5.0.1
fesa::FieldDataManager Class Referenceabstract

#include <FieldDataManager.h>

Inheritance diagram for fesa::FieldDataManager:
fesa::DataManager fesa::FieldTrackerDataManager

Public Member Functions

virtual uint32_t registerField (AbstractField &field)=0
 
virtual uint32_t registerModifiedFields (const std::set< ModifiedField > &fields)=0
 
virtual const void * getFieldAddress (uint16_t bufferIndex, uint32_t fieldIndex)=0
 
virtual std::size_t getSharedFieldsSize (std::size_t numberOfFieldSlots, bool multiProcess) const =0
 
virtual void mapSharedFields (char *memory, std::size_t numberOfFieldSlots, bool multiProcess, bool first)=0
 
- Public Member Functions inherited from fesa::DataManager
virtual void initialCopy ()=0
 
virtual void update (uint16_t oldIndex, uint16_t newIndex)=0
 

Detailed Description

Extension of the DataManager interface which provides methods to register modified fields.

Member Function Documentation

virtual const void* fesa::FieldDataManager::getFieldAddress ( uint16_t  bufferIndex,
uint32_t  fieldIndex 
)
pure virtual

Returns the address of the field whose index id fieldIndex in the reader buffer whose index is bufferIndex.

Implemented in fesa::FieldTrackerDataManager.

virtual std::size_t fesa::FieldDataManager::getSharedFieldsSize ( std::size_t  numberOfFieldSlots,
bool  multiProcess 
) const
pure virtual

Returns the size of the fields shared between the server and RT parts.

Parameters
numberOfFieldSlotstotal number of field slots to reserve memory for.
multiProcesstrue if multiple process will access the shared fields, false otherwise

Implemented in fesa::FieldTrackerDataManager.

virtual void fesa::FieldDataManager::mapSharedFields ( char *  memory,
std::size_t  numberOfFieldSlots,
bool  multiProcess,
bool  first 
)
pure virtual

Maps the shared fields, starting at the address pointed to by memory.

Parameters
memoryaddress where the mapping starts
numberOfFieldSlotsnumber of field slots for which memory was reserved
multiProcesstrue if multiple process will access the shared fields, false otherwise
firsttrue if shared fields must be initialized (typically when fields are mapped for the first time), false otherwise.

Implemented in fesa::FieldTrackerDataManager.

virtual uint32_t fesa::FieldDataManager::registerField ( AbstractField field)
pure virtual

Registers a field as synchronizable (normally only shared setting fields).

Implemented in fesa::FieldTrackerDataManager.

virtual uint32_t fesa::FieldDataManager::registerModifiedFields ( const std::set< ModifiedField > &  fields)
pure virtual

Registers a field as modified. To be called after field slots have been modified, so that they will be synchronized.

Implemented in fesa::FieldTrackerDataManager.


The documentation for this class was generated from the following file: