fesa-core  5.0.1
fesa::AbstractDeviceFactory Class Referenceabstract

This abstract class contains virtual methods to create the devices on the system. More...

#include <AbstractDeviceFactory.h>

Inheritance diagram for fesa::AbstractDeviceFactory:
fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >

Public Member Functions

virtual const std::vector
< AbstractDevice * > & 
getAbstractDeviceCollection () const
 this method retrieves all abstract devices More...
 
std::vector< AbstractDevice * > getDevices (const std::vector< std::string > &deviceNames) const
 Get the devices by their names. More...
 
virtual const std::vector
< DomainStore * > & 
getAbstractDomainStoreCollection () const
 this method retrieves all abstract domain-store More...
 
virtual AbstractDevicegetDevice (const std::string &deviceName) const =0
 this method retrieves the device instance by its name More...
 
virtual DomainStoregetDomainStore (const std::string &domainStoreName) const =0
 this method retrieves the domain-store by its name More...
 
virtual GlobalDevicegetGlobalDevice () const =0
 this method retrieves the global-device instance More...
 

Protected Member Functions

 AbstractDeviceFactory (const std::string &name, const std::string &version)
 

Protected Attributes

std::string className_
 class name of the abstract device factory
 
std::string classVersion_
 version of the abstract device factory
 
std::vector< AbstractDevice * > abstractDeviceCol_
 abstract device collection of the device factory
 
std::vector< DomainStore * > domainStoreCol_
 abstract domain-store collection of the device factory
 

Detailed Description

This abstract class contains virtual methods to create the devices on the system.

Constructor & Destructor Documentation

fesa::AbstractDeviceFactory::AbstractDeviceFactory ( const std::string &  name,
const std::string &  version 
)
protected

constructor

Parameters
nameof the class that will use this device factory

Member Function Documentation

const std::vector< AbstractDevice * > & fesa::AbstractDeviceFactory::getAbstractDeviceCollection ( ) const
virtual

this method retrieves all abstract devices

Returns
all devices
const std::vector< DomainStore * > & fesa::AbstractDeviceFactory::getAbstractDomainStoreCollection ( ) const
virtual

this method retrieves all abstract domain-store

Returns
all domain stores
virtual AbstractDevice* fesa::AbstractDeviceFactory::getDevice ( const std::string &  deviceName) const
pure virtual

this method retrieves the device instance by its name

Parameters
deviceName
Returns
device reference

Implemented in fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >.

std::vector< AbstractDevice * > fesa::AbstractDeviceFactory::getDevices ( const std::vector< std::string > &  deviceNames) const

Get the devices by their names.

Parameters
deviceNamesA list of the devices' names
Returns
The requested devices
virtual DomainStore* fesa::AbstractDeviceFactory::getDomainStore ( const std::string &  domainStoreName) const
pure virtual

this method retrieves the domain-store by its name

Parameters
domainName
Returns
domain reference

Implemented in fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >.

virtual GlobalDevice* fesa::AbstractDeviceFactory::getGlobalDevice ( ) const
pure virtual

this method retrieves the global-device instance

Returns
global-device reference

Implemented in fesa::DeviceFactory< GlobalDeviceType, DomainStoreType, DevInstType >.


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