fesa::MultiplexingDataManager Class Reference

This class provides methods to retrieve/store information about the cycle stamp and slot linked to that cycle stamp. More...

#include <MultiplexingDataManager.h>

Inheritance diagram for fesa::MultiplexingDataManager:
fesa::AbstractMultiplexingDataManager fesa::HeapMultiplexingDataManager fesa::RollingMultiplexingDataManager fesa::ShmMultiplexingDataManager fesa::HeapRollingMultiplexingDataManager fesa::ShmRollingMultiplexingDataManager

List of all members.

Public Member Functions

 MultiplexingDataManager ()
 Constructor.
virtual ~MultiplexingDataManager ()
 Destructor.
virtual int32_t computeMemorySize ()=0
 This method returns the number of bytes which are necessary to store the date of the class. It is implemented inside the children of this class.
virtual void mapMemory (char *address)=0
 This method maps the data that the RollingMultiplexingDataManager uses from the address passed by argument. It is implemented inside the children of this class.

Protected Attributes

int32_t * currentCycleId_
 this method returns the cycleId linked to the last cycle
AbstractMutexmutex_
 mutex for all class member variables
int32_t * currentSlot_
 The slot where the data of the current cycle is stored.

Detailed Description

This class provides methods to retrieve/store information about the cycle stamp and slot linked to that cycle stamp.

Definition at line 17 of file MultiplexingDataManager.h.


Constructor & Destructor Documentation

fesa::MultiplexingDataManager::MultiplexingDataManager (  ) 

Constructor.

Definition at line 9 of file MultiplexingDataManager.cpp.

fesa::MultiplexingDataManager::~MultiplexingDataManager (  )  [virtual]

Destructor.

Definition at line 15 of file MultiplexingDataManager.cpp.


Member Function Documentation

virtual int32_t fesa::MultiplexingDataManager::computeMemorySize (  )  [pure virtual]

This method returns the number of bytes which are necessary to store the date of the class. It is implemented inside the children of this class.

Returns:
the number of bytes computed

Implements fesa::AbstractMultiplexingDataManager.

Implemented in fesa::HeapMultiplexingDataManager, fesa::HeapRollingMultiplexingDataManager, fesa::RollingMultiplexingDataManager, fesa::ShmMultiplexingDataManager, and fesa::ShmRollingMultiplexingDataManager.

virtual void fesa::MultiplexingDataManager::mapMemory ( char *  address  )  [pure virtual]

This method maps the data that the RollingMultiplexingDataManager uses from the address passed by argument. It is implemented inside the children of this class.

Parameters:
address the memory address where the data will begin

Implements fesa::AbstractMultiplexingDataManager.

Implemented in fesa::HeapMultiplexingDataManager, fesa::HeapRollingMultiplexingDataManager, fesa::RollingMultiplexingDataManager, fesa::ShmMultiplexingDataManager, and fesa::ShmRollingMultiplexingDataManager.


Member Data Documentation

this method returns the cycleId linked to the last cycle

Returns:
the slot

this method sets the cycleId linked to the last cycle

Parameters:
the slot to be set

this method returns the slot linked to the last cycle time stamp

Returns:
the slot

this method sets the slot linked to the last cycle time stamp

Parameters:
the slot to be set

Current cycleID

Definition at line 74 of file MultiplexingDataManager.h.

Referenced by fesa::ShmMultiplexingDataManager::mapMemory(), and fesa::HeapMultiplexingDataManager::mapMemory().

The slot where the data of the current cycle is stored.

Definition at line 84 of file MultiplexingDataManager.h.

Referenced by fesa::ShmMultiplexingDataManager::mapMemory(), and fesa::HeapMultiplexingDataManager::mapMemory().

mutex for all class member variables

Reimplemented in fesa::RollingMultiplexingDataManager.

Definition at line 79 of file MultiplexingDataManager.h.

Referenced by fesa::ShmMultiplexingDataManager::mapMemory(), and fesa::HeapMultiplexingDataManager::mapMemory().


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1