fesa::AbstractRTEquipment Class Reference

This class represents the real time part of the equipment. it contains all the AbstractRTDeviceClass and the AbstractRTController for the real time behavior. More...

#include <AbstractRTEquipment.h>

Inheritance diagram for fesa::AbstractRTEquipment:
fesa::AbstractComponentEquipment

List of all members.

Public Member Functions

AbstractRTDeviceClassgetRTDeviceClass (const std::string &rtDeviceClass)
 this method returns the AbstractRTDeviceClass whose name is passed by parameter
void initialize ()
 this method configures the equipment component
void start (RunMode mode)
 this method starts the real time process runMode indicates if thread should block on this call or keep run
void printConfigAll (FesaStream *fesaStream)
 this methods prints the equipment configuration (scheduling) into the FesaStream passed by argument
void printStateAll (FesaStream *fesaStream, double elapsedTime)
 this methods prints the equipment state into the FesaStream passed by argument
virtual void handleEventSourceError (AbstractEventSource *eventSource, FesaException &exception)=0
 this method is called when an error occurs in a AbstractEventSource
virtual void handleSchedulerError (RTScheduler *scheduler, FesaException &exception)=0
 this method is called when an error occurs in a AbstractEventSource

Static Public Member Functions

static AbstractRTEquipmentgetInstance ()
 returns the unique instance of the class in the system

Protected Types

typedef std::vector
< RTLayerInfo * > 
RTLayerInfoCol

Protected Member Functions

 AbstractRTEquipment ()
 Constructor.
virtual ~AbstractRTEquipment ()
 destructor
virtual void fillRTSchedulerInfo (std::vector< RTLayerInfo * > &layerCol)
 fill the layer info associated with the framework
void waitSignal ()
 Blocking call that waits for and treats signals.

Protected Attributes

RTControllerrtController_

Static Protected Attributes

static AbstractRTEquipmenttheInstance_ = NULL
 single instance for the singleton pattern

Friends

class RTController

Detailed Description

This class represents the real time part of the equipment. it contains all the AbstractRTDeviceClass and the AbstractRTController for the real time behavior.

Definition at line 91 of file AbstractRTEquipment.h.


Member Typedef Documentation

typedef std::vector<RTLayerInfo*> fesa::AbstractRTEquipment::RTLayerInfoCol [protected]

Definition at line 159 of file AbstractRTEquipment.h.


Constructor & Destructor Documentation

fesa::AbstractRTEquipment::AbstractRTEquipment (  )  [protected]

Constructor.

Definition at line 29 of file AbstractRTEquipment.cpp.

References RTController, rtController_, and theInstance_.

fesa::AbstractRTEquipment::~AbstractRTEquipment (  )  [protected, virtual]

destructor

Definition at line 91 of file AbstractRTEquipment.cpp.

References rtController_, and theInstance_.


Member Function Documentation

void fesa::AbstractRTEquipment::fillRTSchedulerInfo ( std::vector< RTLayerInfo * > &  layerCol  )  [protected, virtual]
AbstractRTEquipment * fesa::AbstractRTEquipment::getInstance (  )  [inline, static]
AbstractRTDeviceClass * fesa::AbstractRTEquipment::getRTDeviceClass ( const std::string &  rtDeviceClass  )  [inline]
virtual void fesa::AbstractRTEquipment::handleEventSourceError ( AbstractEventSource eventSource,
FesaException exception 
) [pure virtual]

this method is called when an error occurs in a AbstractEventSource

Parameters:
eventSource in which the error occurred
exception with the error code and error description

Referenced by fesa::AbstractEventSource::run().

virtual void fesa::AbstractRTEquipment::handleSchedulerError ( RTScheduler scheduler,
FesaException exception 
) [pure virtual]

this method is called when an error occurs in a AbstractEventSource

Parameters:
eventSource in which the error occurred
exception with the error code and error description

Referenced by fesa::RTScheduler::post().

void fesa::AbstractRTEquipment::initialize (  )  [virtual]
void fesa::AbstractRTEquipment::printConfigAll ( FesaStream fesaStream  ) 

this methods prints the equipment configuration (scheduling) into the FesaStream passed by argument

Parameters:
fesaStream in which the equipment configuration will be printed

Definition at line 102 of file AbstractRTEquipment.cpp.

References fesa::RTController::printConfigAll(), and rtController_.

void fesa::AbstractRTEquipment::printStateAll ( FesaStream fesaStream,
double  elapsedTime 
)

this methods prints the equipment state into the FesaStream passed by argument

Parameters:
fesaStream in which the equipment state will be printed

Definition at line 106 of file AbstractRTEquipment.cpp.

References fesa::RTController::printStateAll(), and rtController_.

void fesa::AbstractRTEquipment::start ( RunMode  mode  )  [virtual]
void fesa::AbstractRTEquipment::waitSignal (  )  [protected, virtual]

Blocking call that waits for and treats signals.

Implements fesa::AbstractComponentEquipment.

Definition at line 111 of file AbstractRTEquipment.cpp.

References getInstance(), fesa::EquipmentData::rtUp_, fesa::SIGFESA_CHECK_PROCESS_ALIVE, fesa::SIGFESA_RT_DOWN, and fesa::EquipmentData::srvProcessPid_.

Referenced by start().


Friends And Related Function Documentation

friend class RTController [friend]

Definition at line 157 of file AbstractRTEquipment.h.

Referenced by AbstractRTEquipment().


Member Data Documentation

brief reference to the real time controller

Definition at line 186 of file AbstractRTEquipment.h.

Referenced by AbstractRTEquipment(), initialize(), printConfigAll(), printStateAll(), start(), and ~AbstractRTEquipment().

fesa::AbstractRTEquipment::theInstance_ = NULL [static, protected]

single instance for the singleton pattern

Definition at line 192 of file AbstractRTEquipment.h.

Referenced by AbstractRTEquipment(), getInstance(), and ~AbstractRTEquipment().


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1