fesa-core  4.2.0
fesa::DomainStore Class Reference

The DomainStore class groups common fields which are dependent on the timing domain. More...

#include <DomainStore.h>

Inheritance diagram for fesa::DomainStore:
fesa::DataStore

Public Member Functions

virtual ~DomainStore ()
 destructor
 
virtual void initialize (const boost::shared_ptr< DataStoreElement > &domainStoreElement)
 initializes the domain-store
 
- Public Member Functions inherited from fesa::DataStore
 DataStore ()
 Constructor.
 
virtual ~DataStore ()
 destructor
 
virtual std::string getName () const
 Get the name of the data store.
 
boost::optional< int64_t > getId () const
 
FaultSeverity::FaultSeverity getStatus (const MultiplexingContext *context, std::vector< const char * > &faultDescriptions) const
 Get the status of the data store. More...
 
const std::vector
< AbstractField * > & 
getFieldCollection () const
 Retrieve the collection of fields. More...
 
const std::vector
< AbstractField * > & 
getPersistentFieldsCollection () const
 Method to retrieve the setting field collection of that data store. More...
 
AbstractFieldgetField (const std::string &name) const
 Retrieves a pointer to a concrete field. More...
 
std::size_t getMemorySizeToAllocate (bool multiProcess) const
 Returns the size of the shared fields of this object.
 
void mapMemory (char *p, bool multiProcess, bool initializeFields)
 Maps shared fields and attributes to memory. More...
 
void registerFaultField (AbstractField *field)
 Register a fault field in the data store. More...
 

Protected Member Functions

 DomainStore ()
 Initializes the common timing-domain-dependent fields. More...
 
virtual std::size_t getSizeOfAdditionalFields () const
 Get the size related to non-Fesa-type fields. More...
 
virtual void mapAdditionalFields (char *p)
 Map the non-Fesa-type fields. More...
 
- Protected Member Functions inherited from fesa::DataStore
void initializeFieldDefaultValues (const boost::shared_ptr< DataStoreElement > &dataStoreElement)
 initializes all fields of this device with default-values from the instantiation-file More...
 
virtual void initializeOtherFieldValues (const boost::shared_ptr< DataStoreElement > &dataStoreElement)
 
void initializeFieldDimensions (const boost::shared_ptr< DataStoreElement > &dataStoreElement)
 initializes all fields of this data-store with the dimensions, defined in the instantiation-file More...
 
virtual void initialize ()
 This method initialize the datastore.
 
void restoreFromElement (PersistanceDataStoreElement &element)
 this method restores the data store with the element passed as a parameter More...
 
virtual void registerField (AbstractField *field)
 Registers a new field in the current field collection. More...
 
void registerRelatedField (AbstractField *mainField, AbstractField *relatedField)
 Registers a related field of a field. Initializing the dimensions of the field will initialize the dimensions of its related field with the same value. This is a unidirectional relation. A related field cannot be the main field of another field. More...
 

Additional Inherited Members

- Protected Attributes inherited from fesa::DataStore
std::vector< AbstractField * > fields_
 field collection containing all fields of the data store
 
std::vector< AbstractField * > persistentFields_
 setting collection containing all the persistent fields
 
std::map< AbstractField
*, AbstractField * > 
relatedFields_
 maps a field to its related field. Used for example by history fields, so that initializing dimensions of the main field also initializes dimensions of the related field. This is a unidirectional relation. Bidirectional relations are forbidden as they may produce infinite loops.
 
RWLockpRWLock_
 read-write lock used to lock data store during synchronization of setting fields
 

Detailed Description

The DomainStore class groups common fields which are dependent on the timing domain.

Constructor & Destructor Documentation

fesa::DomainStore::DomainStore ( )
protected

Initializes the common timing-domain-dependent fields.

Constructor

Member Function Documentation

std::size_t fesa::DomainStore::getSizeOfAdditionalFields ( ) const
protectedvirtual

Get the size related to non-Fesa-type fields.

Returns
The size related to specific non-Fesa-type fields

Reimplemented from fesa::DataStore.

void fesa::DomainStore::mapAdditionalFields ( char *  p)
protectedvirtual

Map the non-Fesa-type fields.

Parameters
Pointerto the allocated memory

Reimplemented from fesa::DataStore.


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