This class represents a real time action on the system. Real time actions are fired by an event source to carry out operations in the devices.
More...
#include <AbstractRTAction.h>
|
| AbstractRTAction (RTActionConfig &rtActionConfig, const AbstractServiceLocator *serviceLocator, const std::map< std::string, const AbstractServiceLocator * > &serviceLocatorRelatedClasses) |
| Stores the RT action configuration. More...
|
|
virtual | ~AbstractRTAction () |
| destructor
|
|
void | executeAction (RTEvent *event) |
| This method will be called by the scheduler when the event arrives. More...
|
|
virtual void | execute (RTEvent *event)=0 |
| this method contains the logic of the real time action More...
|
|
void | sendManualNotification (const MultiplexingContext *context) const |
| this method sends a manual notification message in order to notify the properties and devices specified in the message
|
|
void | resetManualNotification () const |
| Clears any registered properties/devices for the manual notification.
|
|
void | disableAutomaticNotification () |
|
void | enableAutomaticNotification () |
|
bool | isAutomaticNotificationDisabled () const |
|
| HasMetrics (const std::string &componentName) |
|
|
void | releaseSettingFieldsReadLock () |
|
virtual void | registerManualNotification (const std::string aPropertyName, const std::string aDeviceName) |
| Adds a property/device pair for the manual notification.
|
|
template<typename T > |
void | registerMetric (const std::string &name, T &value) |
|
template<typename T > |
void | registerMetric (const std::string &name, boost::atomic< T > &value) |
|
This class represents a real time action on the system. Real time actions are fired by an event source to carry out operations in the devices.
fesa::AbstractRTAction::AbstractRTAction |
( |
RTActionConfig & |
rtActionConfig, |
|
|
const AbstractServiceLocator * |
serviceLocator, |
|
|
const std::map< std::string, const AbstractServiceLocator * > & |
serviceLocatorRelatedClasses |
|
) |
| |
Stores the RT action configuration.
- Parameters
-
rtActionConfig | structure that contains all the necessary parameters to configure a real time action |
virtual void fesa::AbstractRTAction::execute |
( |
RTEvent * |
event | ) |
|
|
pure virtual |
this method contains the logic of the real time action
- Parameters
-
event | that triggers the execution |
Implemented in fesa::RTDiagnosticSetting.
void fesa::AbstractRTAction::executeAction |
( |
RTEvent * |
event | ) |
|
This method will be called by the scheduler when the event arrives.
- Parameters
-
event | that triggers the execution |
void fesa::AbstractRTAction::releaseSettingFieldsReadLock |
( |
| ) |
|
|
protected |
Releases the read lock on setting fields. After this method is called, reading setting fields from any device is forbidden and attempting to do so will throw an exception. Releasing this lock is recommended in real time actions that take a lot of time to execute (more than one second):
- More recent setting fields values will be available faster for other real time actions
- On demand events will be processed faster, as FESA must wait for setting fields to be synchronized before they can be processed.
std::string fesa::AbstractRTAction::evaluatedSelectionCriterion_ |
|
protected |
Selection criterion with actual values used to select devices
The documentation for this class was generated from the following files:
- AbstractRTAction.h
- AbstractRTAction.cpp