fesa::AbstractDeviceClass Class Reference

Each instance of this class represents a FESA-Class (XML-Design-Document). More...

#include <AbstractDeviceClass.h>

Inheritance diagram for fesa::AbstractDeviceClass:
fesa::AbstractRTDeviceClass fesa::AbstractServerDeviceClass

List of all members.

Public Member Functions

 AbstractDeviceClass (const std::string &fesaClassName, const std::string &version)
 Constructor.
virtual ~AbstractDeviceClass ()
 Destructor.
virtual AbstractDeviceFactorygetDeviceFactory ()
 returns the abstract device factory of the class
virtual const std::string & getName ()
 returns the name of the class as string
virtual const std::string & getVersion ()
 returns the version of the class as string
virtual void initialize ()=0
 Initialization of the class. Is pure virtual. Implementation is done at a lower level.
virtual void specificInit ()=0
 Custom initialization of the class.
virtual const
AbstractServiceLocator
getServiceLocator ()
virtual boost::shared_ptr
< OnDemandProducer
getOnDemandEventProducer (const std::string &onDemandEventSourceName) const

Protected Types

typedef const std::string OnDemandEventSourceName
typedef std::map
< OnDemandEventSourceName,
boost::shared_ptr
< OnDemandProducer > > 
OnDemandEventProducerCollection

Protected Member Functions

void addOnDemandEventProducer (const std::string &onDemandEventSourceName, boost::shared_ptr< OnDemandProducer > &producer)
 Allows the concrete device class to add OD-producers, according to the concrete class-design.

Protected Attributes

std::string name_
 name of the abstract device class
std::string version_
 version of the abstract device class
AbstractDeviceFactorydeviceFactory_
 reference to the device factory
std::vector
< AbstractDeviceClass * > 
relatedClassCol_
 list of classes related to this one by means of composition relationship.If the device class doesn't define any composition relationship, this collection is empty
AbstractDeviceClassbaseClass_
 Defines the base class from which this device class inherits. If the device class does not define any inheritance relationship, the baseClass_ attribute is NULL.
const AbstractServiceLocatorserviceLocator_
OnDemandEventProducerCollection onDemandEventProducerCol_
 service to trigger the different on-demand-event sources of this class

Detailed Description

Each instance of this class represents a FESA-Class (XML-Design-Document).

Definition at line 27 of file AbstractDeviceClass.h.


Member Typedef Documentation

Definition at line 112 of file AbstractDeviceClass.h.

typedef const std::string fesa::AbstractDeviceClass::OnDemandEventSourceName [protected]

Definition at line 111 of file AbstractDeviceClass.h.


Constructor & Destructor Documentation

fesa::AbstractDeviceClass::AbstractDeviceClass ( const std::string &  fesaClassName,
const std::string &  version 
)

Constructor.

Parameters:
name of the fesa-class
version of the fesa-class

Definition at line 9 of file AbstractDeviceClass.cpp.

References FesaErrorServiceLocatorWasNotCreated, fesa::AbstractServiceLocatorFactory::getInstance(), fesa::AbstractServiceLocatorFactory::getServiceLocator(), name_, and serviceLocator_.

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

Destructor.

Definition at line 22 of file AbstractDeviceClass.cpp.

References baseClass_, and relatedClassCol_.


Member Function Documentation

void fesa::AbstractDeviceClass::addOnDemandEventProducer ( const std::string &  onDemandEventSourceName,
boost::shared_ptr< OnDemandProducer > &  producer 
) [protected]

Allows the concrete device class to add OD-producers, according to the concrete class-design.

Definition at line 38 of file AbstractDeviceClass.cpp.

References onDemandEventProducerCol_.

AbstractDeviceFactory * fesa::AbstractDeviceClass::getDeviceFactory (  )  [inline, virtual]
const std::string & fesa::AbstractDeviceClass::getName (  )  [inline, virtual]
boost::shared_ptr< OnDemandProducer > fesa::AbstractDeviceClass::getOnDemandEventProducer ( const std::string &  onDemandEventSourceName  )  const [virtual]
const AbstractServiceLocator * fesa::AbstractDeviceClass::getServiceLocator (  )  [virtual]

Definition at line 33 of file AbstractDeviceClass.cpp.

References serviceLocator_.

const std::string & fesa::AbstractDeviceClass::getVersion (  )  [inline, virtual]

returns the version of the class as string

Returns:
name as const reference

Definition at line 131 of file AbstractDeviceClass.h.

References version_.

Referenced by fesa::AbstractServerDeviceClass::printConfig().

virtual void fesa::AbstractDeviceClass::initialize (  )  [pure virtual]

Initialization of the class. Is pure virtual. Implementation is done at a lower level.

Implemented in fesa::AbstractRTDeviceClass, and fesa::AbstractServerDeviceClass.

virtual void fesa::AbstractDeviceClass::specificInit (  )  [pure virtual]

Member Data Documentation

Defines the base class from which this device class inherits. If the device class does not define any inheritance relationship, the baseClass_ attribute is NULL.

Definition at line 107 of file AbstractDeviceClass.h.

Referenced by fesa::AbstractServerDeviceClass::getProperty(), fesa::AbstractServerDeviceClass::printConfig(), and ~AbstractDeviceClass().

reference to the device factory

Definition at line 95 of file AbstractDeviceClass.h.

Referenced by getDeviceFactory().

std::string fesa::AbstractDeviceClass::name_ [protected]

service to trigger the different on-demand-event sources of this class

Definition at line 117 of file AbstractDeviceClass.h.

Referenced by addOnDemandEventProducer(), and getOnDemandEventProducer().

list of classes related to this one by means of composition relationship.If the device class doesn't define any composition relationship, this collection is empty

Definition at line 101 of file AbstractDeviceClass.h.

Referenced by fesa::AbstractServerDeviceClass::printConfig(), ~AbstractDeviceClass(), and fesa::AbstractServerDeviceClass::~AbstractServerDeviceClass().

Definition at line 109 of file AbstractDeviceClass.h.

Referenced by AbstractDeviceClass(), and getServiceLocator().

std::string fesa::AbstractDeviceClass::version_ [protected]

version of the abstract device class

Definition at line 90 of file AbstractDeviceClass.h.

Referenced by getVersion(), and fesa::AbstractServerDeviceClass::printConfig().


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1