This class is responsible for the instantiation of all the devices, global-device and domain-store. The DeviceFactory is designed as a bridge pattern to allow sub-classing of the class interface (this one) and the class implementation (DeviceFactoryImp) separately.
More...
#include <DeviceFactory.h>
template<typename GlobalDeviceType, typename DomainStoreType, typename DevInstType>
class fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >
This class is responsible for the instantiation of all the devices, global-device and domain-store. The DeviceFactory is designed as a bridge pattern to allow sub-classing of the class interface (this one) and the class implementation (DeviceFactoryImp) separately.
- Parameters
-
GlobalDeviceType | is the type of the concrete GlobalDevice class |
DevInstType | is the type of the concrete Device class |
DomainStoreType | is the type of the concrete DomainStore class |
template<typename GlobalDeviceType , typename DomainStoreType , typename DevInstType >
Constructor.
- Parameters
-
instantiationXMLElementClass | C++ class-tree in order to access the class-specific data of the instantiation-file |
classVersion | the version of the class to which the device factory belongs |
The device-factory constructor is responsible to instantiate its implementation class.
template<typename GlobalDeviceType , typename DomainStoreType , typename DevInstType >
DevInstType * fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >::getDevice |
( |
const std::string & |
deviceName | ) |
const |
|
inlinevirtual |
this method retrieves the device instance by its name
- Parameters
-
deviceName | the name of the device |
- Returns
- concrete device reference or NULL if the device is not found
Implements fesa::AbstractDeviceFactory.
template<typename GlobalDeviceType , typename DomainStoreType , typename DevInstType >
const std::vector< DevInstType * > & fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >::getDeviceCollection |
( |
| ) |
const |
|
inline |
this method retrieves all concrete-devices
- Returns
- all devices
template<typename GlobalDeviceType , typename DomainStoreType , typename DevInstType >
DomainStoreType * fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >::getDomainStore |
( |
const std::string & |
domainStoreName | ) |
const |
|
inlinevirtual |
this method retrieves the domain store instance by its name
- Parameters
-
domainStoreName | the name of the domain store |
- Returns
- concrete domain store reference or NULL if the domain store is not found
Implements fesa::AbstractDeviceFactory.
template<typename GlobalDeviceType , typename DomainStoreType , typename DevInstType >
const std::vector< DomainStoreType * > & fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >::getDomainStoreCollection |
( |
| ) |
const |
|
inline |
this method retrieves all concrete-domain stores
- Returns
- all domain stores
template<typename GlobalDeviceType , typename DomainStoreType , typename DevInstType >
GlobalDeviceType * fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >::getGlobalDevice |
( |
| ) |
const |
|
inlinevirtual |
this method retrieves the global-device instance
- Returns
- concrete global-device reference or NULL if the device is not found. This last case is usual when having optional classes.
Implements fesa::AbstractDeviceFactory.
The documentation for this class was generated from the following file: