fesa-core
4.2.0
|
This is the base class for the equipment-specialist's global-device class. It contains all the common global fields for any FESA class. Global field means all the fields accessible for all the devices for a given class in the same front-end. It is up to each FESA class to specify its specific global fields. More...
#include <GlobalDevice.h>
Public Attributes | |
GenericFieldScalar< bool > | enableDiagMode |
Diagnostic mode enabled. | |
GenericFieldString | hostName |
Name of host to send diagnostics to. | |
GenericFieldScalar< int32_t > | portNumber |
Port of host to send diagnostics to. | |
GenericFieldScalar< int32_t > | fwkTopic |
Framework's topics for diagnostics. | |
GenericFieldScalar< int32_t > | customTopic |
Custom topics for diagnostics. | |
GenericFieldString | traceDevices |
Devices that are traced. | |
GenericFieldString | bypassActions |
Actions bypassed for diagnostics. | |
![]() | |
ConfigFieldString | name |
Configuration field containing the device's name. | |
ConfigFieldString | description |
Configuration field containing the device's description. | |
ConfigFieldString | acceleratorZone |
Configuration field containing the device's accelerator zone. | |
ConfigFieldString | accelerator |
Configuration field containing the device's accelerator. | |
ConfigFieldString | timingDomain |
Configuration field containing the device's timing domain. | |
ConfigFieldString | mainMuxCriterion |
Configuration field containing the device's main multiplexing criterion. | |
Protected Member Functions | |
GlobalDevice (const boost::shared_ptr< DeviceInstantiationData > &instantiationData) | |
Initialize common device fields. More... | |
![]() | |
AbstractDevice (const boost::shared_ptr< DeviceInstantiationData > &instantiationData) | |
Initializes the common device fields. More... | |
AbstractDevice () | |
Constructor to simplify Mocking. | |
void | initializeOtherFieldValues (const boost::shared_ptr< DataStoreElement > &dataStoreElement) |
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... | |
![]() | |
void | initializeFieldDefaultValues (const boost::shared_ptr< DataStoreElement > &dataStoreElement) |
initializes all fields of this device with default-values from the instantiation-file More... | |
void | initializeFieldDimensions (const boost::shared_ptr< DataStoreElement > &dataStoreElement) |
initializes all fields of this data-store with the dimensions, defined in the instantiation-file More... | |
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 | |
![]() | |
virtual | ~AbstractDevice () |
destructor | |
std::string | getMainMuxCriterion () const |
Returns the main multiplexing criterion of the device. | |
std::string | getTimingDomain () const |
Returns the timing domain that the device belongs to. | |
std::string | getAccelerator () const |
Returns the accelerator that the device belongs to. | |
std::string | getAcceleratorZone () const |
Returns the accelerator zone that the device belongs to. | |
std::string | getDescription () const |
Returns the device's description. | |
bool | isLoggable () const |
Returns the flag that indicates if the device trace is logged. | |
void | setLoggable (bool loggable) |
Set the flag that indicates if the device trace is logged. | |
bool | isMultiplexed () const |
virtual void | initialize () |
initializes the device | |
virtual boost::shared_ptr < DeviceInstantiationData > | getInstantiationData () const |
getter for the member-variable instantiationData_ | |
![]() | |
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... | |
AbstractField * | getField (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... | |
![]() | |
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. | |
RWLock * | pRWLock_ |
read-write lock used to lock data store during synchronization of setting fields | |
This is the base class for the equipment-specialist's global-device class. It contains all the common global fields for any FESA class. Global field means all the fields accessible for all the devices for a given class in the same front-end. It is up to each FESA class to specify its specific global fields.
|
protected |
Initialize common device fields.
Constructor
instantiationData | device-specific data comming from the instance-file |