fesa::AbstractRTAction Class Reference

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>

Inheritance diagram for fesa::AbstractRTAction:
fesa::AbstractAction fesa::RTAction< DeviceType > fesa::RTDiagnosticSetting

List of all members.

Public Member Functions

 AbstractRTAction (RTActionConfig &rtActionConfig, const AbstractServiceLocator *serviceLocator, const std::map< std::string, const AbstractServiceLocator * > serviceLocatorRelatedClasses)
 Stores the RT action configuration.
virtual ~AbstractRTAction ()
 destructor
void executeAction (RTEvent *event)
 This method will be called by the scheduler when the event arrives.
virtual void execute (RTEvent *event)=0
 this method contains the logic of the real time action
virtual void printConfig (FesaStream *)=0
virtual void printState (FesaStream *, double)=0

Protected Member Functions

void sendManualNotification (MultiplexingContext *muxContext)
 this method sends a manual notification message in order to notify the properties and devices specified in the message

Protected Attributes

std::string eventName_
 name of the event that fires the action
std::string selectionCriterion_
 selection criterion to select devices used for notification
std::set< std::string > manuallyNotifiedPropertiesCol_
std::string eventSourceName_
 event source name (timing, timingSim, timer, user, <custom-name>)
std::vector< AbstractDevice * > abstractDeviceCol_
 set of devices to which the real time action has access
GlobalDeviceglobalDevice_
DiagnosticUtils::DiagStateCounter completedActionCount_
 number of completed actions
uint32_t abortedActionCount_
 number of real time actions aborted
uint32_t notificationID_
 key to identify the notification that will be used in the real time action
ManualNotificationMessagemanualNotificationMessage_
 internal message used

Private Attributes

std::set< std::string > automaticallyNotifiedPropertiesCol_
 list of properties that will be notified automatically, after the RT-action has finished
NotificationProducertheNotificationProducer_
 the notification producer is used to send properties' notifications to the server side
bool devicesShareTimingDomain_
std::string timingDomain_
 Contain the timingDomain of the device collection + global device, if such timingDomain is shared by all the devices, otherwise contains "Undefined".

Detailed Description

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.

Definition at line 102 of file AbstractRTAction.h.


Constructor & Destructor Documentation

fesa::AbstractRTAction::AbstractRTAction ( RTActionConfig rtActionConfig,
const AbstractServiceLocator serviceLocator,
const std::map< std::string, const AbstractServiceLocator * >  serviceLocatorRelatedClasses 
)
fesa::AbstractRTAction::~AbstractRTAction (  )  [virtual]

Member Function Documentation

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.

Referenced by executeAction().

void fesa::AbstractRTAction::executeAction ( RTEvent event  ) 
virtual void fesa::AbstractRTAction::printConfig ( FesaStream  )  [pure virtual]
virtual void fesa::AbstractRTAction::printState ( FesaStream ,
double   
) [pure virtual]
void fesa::AbstractRTAction::sendManualNotification ( MultiplexingContext muxContext  )  [protected]

this method sends a manual notification message in order to notify the properties and devices specified in the message

Definition at line 188 of file AbstractRTAction.cpp.

References fesa::EquipmentData::getInstance(), manualNotificationMessage_, fesa::ManualNotificationMessage::muxContext_, fesa::NotificationProducer::sendManualNotification(), fesa::EquipmentData::serverUp_, and theNotificationProducer_.


Member Data Documentation

number of real time actions aborted

Definition at line 176 of file AbstractRTAction.h.

Referenced by executeAction(), fesa::RTDiagnosticSetting::printState(), and fesa::RTAction< DeviceType >::printState().

set of devices to which the real time action has access

Definition at line 162 of file AbstractRTAction.h.

Referenced by AbstractRTAction().

list of properties that will be notified automatically, after the RT-action has finished

Definition at line 201 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), executeAction(), and ~AbstractRTAction().

Definition at line 212 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), and executeAction().

name of the event that fires the action

Definition at line 141 of file AbstractRTAction.h.

event source name (timing, timingSim, timer, user, <custom-name>)

Definition at line 156 of file AbstractRTAction.h.

Definition at line 164 of file AbstractRTAction.h.

Referenced by AbstractRTAction().

std::set<std::string> fesa::AbstractRTAction::manuallyNotifiedPropertiesCol_ [protected]

Definition at line 153 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), and ~AbstractRTAction().

internal message used

Definition at line 193 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), executeAction(), and sendManualNotification().

key to identify the notification that will be used in the real time action

Definition at line 182 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), and executeAction().

selection criterion to select devices used for notification

Definition at line 147 of file AbstractRTAction.h.

Referenced by fesa::RTDiagnosticSetting::printConfig(), and fesa::RTAction< DeviceType >::printConfig().

the notification producer is used to send properties' notifications to the server side

Definition at line 206 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), executeAction(), sendManualNotification(), and ~AbstractRTAction().

Contain the timingDomain of the device collection + global device, if such timingDomain is shared by all the devices, otherwise contains "Undefined".

Definition at line 219 of file AbstractRTAction.h.

Referenced by AbstractRTAction(), and executeAction().


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1