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>
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. | |
AbstractDeviceClass * | getDeviceClass (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 |
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.
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.
void fesa::AbstractComponentEquipment::deregisterDeviceClass | ( | const std::string & | className | ) |
this method removes the abstract class passed by parameter from vector abstractDeviceClassCol_
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.
className | the name of the class we are looking for |
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.
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_.
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] |
Custom initialization of the Equipment.
Referenced by initialize(), fesa::ServiceLocatorRealtimeSplitImplementation::runDeployUnitSpecificInitRT(), fesa::ServiceLocatorUnsplitImplementation::runDeployUnitSpecificInitRT(), fesa::ServiceLocatorServerSplitImplementation::runDeployUnitSpecificInitServer(), and fesa::ServiceLocatorUnsplitImplementation::runDeployUnitSpecificInitServer().
virtual void fesa::AbstractComponentEquipment::start | ( | RunMode | runMode | ) | [pure virtual] |
This method starts the component equipment.
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.
std::vector<AbstractDeviceClass*> fesa::AbstractComponentEquipment::abstractDeviceClassCol_ [protected] |
contains the complete list of device classes
Definition at line 85 of file AbstractComponentEquipment.h.
Referenced by deregisterDeviceClass(), getDeviceClass(), getDeviceClassCol(), fesa::AbstractServerEquipment::getDeviceClassFromDeviceName(), initialize(), registerDeviceClass(), and ~AbstractComponentEquipment().