fesa-core  4.2.0
fesa::GlobalDevice Class Reference

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>

Inheritance diagram for fesa::GlobalDevice:
fesa::AbstractDevice fesa::DataStore

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.
 
- Public Attributes inherited from fesa::AbstractDevice
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...
 
- Protected Member Functions inherited from fesa::AbstractDevice
 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...
 
- 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...
 
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

- Public Member Functions inherited from fesa::AbstractDevice
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_
 
- 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 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

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.

Constructor & Destructor Documentation

fesa::GlobalDevice::GlobalDevice ( const boost::shared_ptr< DeviceInstantiationData > &  instantiationData)
protected

Initialize common device fields.

Constructor

Parameters
instantiationDatadevice-specific data comming from the instance-file

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