fesa::AbstractComponentEquipment Class Reference

This class is an abstraction of the components of an equipment. It contains common services shared by both the server and real time parts. More...

#include <AbstractComponentEquipment.h>

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

List of all members.

Public Member Functions

virtual void initialize ()
 This method configures the equipment component and calls the initialize method of all the classes registered in it.
virtual void specificInit ()=0
 Custom initialization of the Equipment.
virtual void start (RunMode runMode)=0
 This method starts the component equipment.
const std::vector
< AbstractDeviceClass * > & 
getDeviceClassCol ()
 This method returns all abstract device classes, managed by this equipment.
AbstractDeviceClassgetDeviceClass (const std::string &className)
 This method returns a pointer to the requested abstract device class.
void registerDeviceClass (AbstractDeviceClass *abstractDeviceClass)
 This method registers abstract device class in vector abstractDeviceClassCol_.
void deregisterDeviceClass (const std::string &className)
 this method removes the abstract class passed by parameter from vector abstractDeviceClassCol_
virtual ~AbstractComponentEquipment ()
 Destructor.

Protected Member Functions

 AbstractComponentEquipment ()
 Constructor.
virtual void waitSignal ()=0
 Blocking call that waits for and treats signals.

Protected Attributes

std::vector
< AbstractDeviceClass * > 
abstractDeviceClassCol_
 contains the complete list of device classes

Detailed Description

This class is an abstraction of the components of an equipment. It contains common services shared by both the server and real time parts.

Definition at line 20 of file AbstractComponentEquipment.h.


Constructor & Destructor Documentation

fesa::AbstractComponentEquipment::~AbstractComponentEquipment (  )  [virtual]

Destructor.

Definition at line 16 of file AbstractComponentEquipment.cpp.

References abstractDeviceClassCol_.

fesa::AbstractComponentEquipment::AbstractComponentEquipment (  )  [protected]

Constructor.

Definition at line 12 of file AbstractComponentEquipment.cpp.


Member Function Documentation

void fesa::AbstractComponentEquipment::deregisterDeviceClass ( const std::string &  className  ) 

this method removes the abstract class passed by parameter from vector abstractDeviceClassCol_

Parameters:
className the name of the class to deregister

Definition at line 58 of file AbstractComponentEquipment.cpp.

References abstractDeviceClassCol_.

Referenced by fesa::AbstractRTDeviceClass::~AbstractRTDeviceClass(), and fesa::AbstractServerDeviceClass::~AbstractServerDeviceClass().

AbstractDeviceClass * fesa::AbstractComponentEquipment::getDeviceClass ( const std::string &  className  ) 

This method returns a pointer to the requested abstract device class.

Parameters:
className the name of the class we are looking for
Returns:
AbstractDeviceClass reference if device class is found; otherwise NULL

Definition at line 45 of file AbstractComponentEquipment.cpp.

References abstractDeviceClassCol_.

Referenced by fesa::AbstractRTEquipment::getRTDeviceClass(), and fesa::AbstractServerEquipment::getServerDeviceClass().

const std::vector< AbstractDeviceClass * > & fesa::AbstractComponentEquipment::getDeviceClassCol (  )  [inline]

This method returns all abstract device classes, managed by this equipment.

Returns:
a vector of device class pointers

Definition at line 88 of file AbstractComponentEquipment.h.

References abstractDeviceClassCol_.

Referenced by fesa::RTController::initialize(), fesa::AbstractServerEquipment::reportErrorToAllSubscribers(), and fesa::NotificationConsumer::run().

void fesa::AbstractComponentEquipment::initialize (  )  [virtual]

This method configures the equipment component and calls the initialize method of all the classes registered in it.

Reimplemented in fesa::AbstractRTEquipment, and fesa::AbstractServerEquipment.

Definition at line 26 of file AbstractComponentEquipment.cpp.

References abstractDeviceClassCol_, FesaErrorNoRequiredClass, fesa::AbstractEquipment::getInstance(), fesa::AbstractEquipment::isClassOptional(), and specificInit().

void fesa::AbstractComponentEquipment::registerDeviceClass ( AbstractDeviceClass abstractDeviceClass  )  [inline]

This method registers abstract device class in vector abstractDeviceClassCol_.

Parameters:
abstractDeviceClass The class we want to register

Definition at line 93 of file AbstractComponentEquipment.h.

References abstractDeviceClassCol_.

Referenced by fesa::AbstractRTDeviceClass::AbstractRTDeviceClass(), and fesa::AbstractServerDeviceClass::AbstractServerDeviceClass().

virtual void fesa::AbstractComponentEquipment::specificInit (  )  [pure virtual]
virtual void fesa::AbstractComponentEquipment::start ( RunMode  runMode  )  [pure virtual]

This method starts the component equipment.

Parameters:
runMode indicates if thread should block on this call or keep run

Implemented in fesa::AbstractRTEquipment, and fesa::AbstractServerEquipment.

Referenced by fesa::AbstractEquipment::start().

virtual void fesa::AbstractComponentEquipment::waitSignal (  )  [protected, pure virtual]

Blocking call that waits for and treats signals.

Implemented in fesa::AbstractRTEquipment, and fesa::AbstractServerEquipment.


Member Data Documentation


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1