fesa-core  7.0.0
fesa::AbstractDeviceClass Class Referenceabstract

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

Public Member Functions

 AbstractDeviceClass (const std::string &fesaClassName, const std::string &version)
 Constructor. More...
 
virtual ~AbstractDeviceClass ()
 Destructor.
 
virtual AbstractDeviceFactorygetDeviceFactory ()
 returns the abstract device factory of the class More...
 
virtual const std::string & getName ()
 returns the name of the class as string More...
 
virtual const std::string & getVersion ()
 returns the version of the class as string More...
 
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 boost::shared_ptr
< ClassElement
getInstantiationXMLElement ()
 Getter for the member InstantiationXMLElement_. More...
 
virtual void specificShutDown ()
 Method to run code when a clean shutdown occurs. The default implementation is empty. It can be overridden by a FESA class developer in ServerDeviceClass and RTDeviceClass.
 

Protected Member Functions

virtual void addOnDemandEventProducer (const std::string &className, const std::string &onDemandEventSourceName, FwkPart::FwkPart fwkPart)
 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.
 
OnDemandEventProducerCollection onDemandEventProducerCol_
 service to trigger the different on-demand-event sources of this class
 
boost::shared_ptr< ClassElementinstantiationXMLElement_
 Used to access the class-specific XML-data of the instantiation-file.
 

Detailed Description

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

Constructor & Destructor Documentation

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

Constructor.

Parameters
nameof the fesa-class
versionof the fesa-class

Member Function Documentation

AbstractDeviceFactory * fesa::AbstractDeviceClass::getDeviceFactory ( )
inlinevirtual

returns the abstract device factory of the class

Returns
pointer to the AbstractDeviceFactory
boost::shared_ptr< ClassElement > fesa::AbstractDeviceClass::getInstantiationXMLElement ( )
virtual

Getter for the member InstantiationXMLElement_.

Returns
the member-variable InstantiationXMLElement_
const std::string & fesa::AbstractDeviceClass::getName ( )
inlinevirtual

returns the name of the class as string

Returns
name as const reference
const std::string & fesa::AbstractDeviceClass::getVersion ( )
inlinevirtual

returns the version of the class as string

Returns
name as const reference

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