This abstract class contains virtual methods to create the devices on the system. More...
#include <AbstractDeviceFactory.h>
Public Member Functions | |
virtual std::set < HomogeneousDevCol * > | getSortedDeviceCollection (const std::string &selectionCriteria) |
this method retrieves vector with all devices based on selection criterion | |
virtual const std::vector < AbstractDevice * > & | getAbstractDeviceCollection () |
this method retrieves all abstract devices | |
virtual AbstractDevice * | getDevice (const std::string &deviceName)=0 |
this method retrieves the device instance by its name | |
virtual GlobalDevice * | getGlobalDevice ()=0 |
this method retrieves the global-device instance | |
Protected Member Functions | |
AbstractDeviceFactory (const std::string &name) | |
virtual | ~AbstractDeviceFactory () |
Protected Attributes | |
std::string | className_ |
class name of the abstract device factory | |
std::vector< AbstractDevice * > | pAbstractDeviceCol_ |
abstract device collection of the device factory |
This abstract class contains virtual methods to create the devices on the system.
Definition at line 26 of file AbstractDeviceFactory.h.
fesa::AbstractDeviceFactory::AbstractDeviceFactory | ( | const std::string & | name | ) | [protected] |
constructor
name | of the class that will use this device factory |
Definition at line 12 of file AbstractDeviceFactory.cpp.
fesa::AbstractDeviceFactory::~AbstractDeviceFactory | ( | ) | [protected, virtual] |
Definition at line 36 of file AbstractDeviceFactory.cpp.
const std::vector< AbstractDevice * > & fesa::AbstractDeviceFactory::getAbstractDeviceCollection | ( | ) | [virtual] |
this method retrieves all abstract devices
Definition at line 31 of file AbstractDeviceFactory.cpp.
References pAbstractDeviceCol_.
Referenced by fesa::ServiceLocatorServerSplitImplementation::getDeviceCollection(), fesa::ServiceLocatorRealtimeSplitImplementation::getDeviceCollection(), fesa::ServiceLocatorUnsplitImplementation::getDeviceCollection(), fesa::AbstractServerDeviceClass::initialize(), fesa::AbstractRTDeviceClass::initialize(), fesa::ServiceLocatorServerSplitImplementation::synchronizeSettingFields(), fesa::ServiceLocatorRealtimeSplitImplementation::synchronizeSettingFields(), and fesa::ServiceLocatorUnsplitImplementation::synchronizeSettingFields().
virtual AbstractDevice* fesa::AbstractDeviceFactory::getDevice | ( | const std::string & | deviceName | ) | [pure virtual] |
this method retrieves the device instance by its name
deviceName |
Implemented in fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >.
Referenced by fesa::FesaDeviceServer::decodeIOPoint(), fesa::ServiceLocatorServerSplitImplementation::getDevice(), fesa::ServiceLocatorRealtimeSplitImplementation::getDevice(), fesa::ServiceLocatorUnsplitImplementation::getDevice(), fesa::AbstractServerEquipment::getDeviceClassFromDeviceName(), and fesa::DeviceElement2::initialize().
virtual GlobalDevice* fesa::AbstractDeviceFactory::getGlobalDevice | ( | ) | [pure virtual] |
this method retrieves the global-device instance
Implemented in fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >.
Referenced by fesa::RTController::createRTActionConfig(), fesa::FesaDeviceServer::decodeIOPoint(), fesa::AbstractServerEquipment::getDeviceClassFromDeviceName(), fesa::ServiceLocatorServerSplitImplementation::getGlobalDevice(), fesa::ServiceLocatorRealtimeSplitImplementation::getGlobalDevice(), fesa::ServiceLocatorUnsplitImplementation::getGlobalDevice(), fesa::DeviceElement2::initialize(), fesa::AbstractServerDeviceClass::initialize(), fesa::AbstractRTDeviceClass::initialize(), fesa::ServiceLocatorServerSplitImplementation::synchronizeSettingFields(), fesa::ServiceLocatorRealtimeSplitImplementation::synchronizeSettingFields(), and fesa::ServiceLocatorUnsplitImplementation::synchronizeSettingFields().
std::set< HomogeneousDevCol * > fesa::AbstractDeviceFactory::getSortedDeviceCollection | ( | const std::string & | selectionCriteria | ) | [virtual] |
this method retrieves vector with all devices based on selection criterion
selectionCriteria |
Definition at line 18 of file AbstractDeviceFactory.cpp.
References className_, fesa::SortingInterpreter::interpret(), and pAbstractDeviceCol_.
fesa::AbstractDeviceFactory::className_ [protected] |
class name of the abstract device factory
Definition at line 70 of file AbstractDeviceFactory.h.
Referenced by getSortedDeviceCollection().
std::vector<AbstractDevice*> fesa::AbstractDeviceFactory::pAbstractDeviceCol_ [protected] |
abstract device collection of the device factory
Definition at line 75 of file AbstractDeviceFactory.h.
Referenced by fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >::DeviceFactory(), getAbstractDeviceCollection(), and getSortedDeviceCollection().