fesa-core  7.0.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 const 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
 
void mapMemory (char *&address, bool multiProcess, bool initializeFields, std::ostream &logStream)
 
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...
 
- 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.
 
virtual void restoreFromElement (PersistanceDataStoreElement &element, bool ignoreInvalidValues)
 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...
 
virtual std::size_t getSizeOfAdditionalFields () const
 Get the size related to non-Fesa-type fields. More...
 
virtual void mapAdditionalFields (char *&address)
 Map additional shared (non generated by FESA) fields. 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


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