OMK::KernelObjectAbstractFactory Class Reference

the factory used to create correct attributes depending on the controller More...

#include <OMKKernelObjectAbstractFactory.h>

Inheritance diagram for OMK::KernelObjectAbstractFactory:

Inheritance graph
[legend]
Collaboration diagram for OMK::KernelObjectAbstractFactory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ~KernelObjectAbstractFactory ()
template<typename T>
Input< T > * createInput (const Name &name, SimulatedObject &owner, bool makeConnectable, int requestedPrecisionLevel)
template<typename T>
SensitiveInput< T > * createSensitiveInput (const Name &name, SimulatedObject &owner, bool makeConnectable, int requestedPrecisionLevel)
template<typename T>
SensitiveNotifyingInput< T > * createSensitiveNotifyingInput (const Name &name, SimulatedObject &owner, bool makeConnectable, int requestedPrecisionLevel)
template<typename T>
Output< T > * createOutput (const Name &name, SimulatedObject &owner, int historyLength, OMK::Type::PolatorNT *polator)
template<typename T>
ControlParameter< T > * createControlParameter (const Name &name, SimulatedObject &owner, int historyLength, OMK::Type::PolatorNT *polator)
template<typename T>
InputAlias< T > * createInputAlias (const Name &name, SimulatedObject &owner, AbstractInput< T > *input, int requestedPrecisionLevel)
template<typename T>
SensitiveInputAlias< T > * createSensitiveInputAlias (const Name &name, SimulatedObject &owner, AbstractInput< T > *input, int requestedPrecisionLevel)
template<typename T>
SensitiveNotifyingInputAlias<
T > * 
createSensitiveNotifyingInputAlias (const Name &name, SimulatedObject &owner, AbstractInput< T > *input, int requestedPrecisionLevel)
template<typename T>
OutputAlias< T > * createOutputAlias (const Name &name, SimulatedObject &owner, Output< T > *output, int historyLength, OMK::Type::PolatorNT *polator)

Protected Types

enum  ConcreteFactory { CLASSIC }

Protected Member Functions

 KernelObjectAbstractFactory (ConcreteFactory factoryType)

Protected Attributes

KernelObjectClassicFactory_classicFactory

Private Attributes

ConcreteFactory _myConcreteFactoryType

Detailed Description

the factory used to create correct attributes depending on the controller

Definition at line 44 of file OMKKernelObjectAbstractFactory.h.


Member Enumeration Documentation

enum OMK::KernelObjectAbstractFactory::ConcreteFactory [protected]

Enumerator:
CLASSIC 

Definition at line 97 of file OMKKernelObjectAbstractFactory.h.

00097 { CLASSIC };


Constructor & Destructor Documentation

KernelObjectAbstractFactory::~KernelObjectAbstractFactory (  ) 

Definition at line 30 of file OMKKernelObjectAbstractFactory.cpp.

00031 {
00032 }

KernelObjectAbstractFactory::KernelObjectAbstractFactory ( ConcreteFactory  factoryType  )  [protected]

Definition at line 23 of file OMKKernelObjectAbstractFactory.cpp.

00025   : _classicFactory( 0 ),
00026     _myConcreteFactoryType( factoryType )
00027 {
00028 }


Member Function Documentation

template<typename T>
Input< T > * OMK::KernelObjectAbstractFactory::createInput ( const Name name,
SimulatedObject owner,
bool  makeConnectable,
int  requestedPrecisionLevel 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 200 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00204 {
00205    switch(_myConcreteFactoryType) 
00206    {
00207    case CLASSIC:
00208       return _classicFactory->template createInput<T>(name,owner,makeConnectable,requestedPrecisionLevel);
00209    default:
00210       Controller::error("KernelObjetcFactory de type inconnu");
00211       return NULL;
00212    }
00213 }

template<typename T>
SensitiveInput< T > * OMK::KernelObjectAbstractFactory::createSensitiveInput ( const Name name,
SimulatedObject owner,
bool  makeConnectable,
int  requestedPrecisionLevel 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 216 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00220 {
00221    switch(_myConcreteFactoryType) {
00222    case CLASSIC:
00223       return _classicFactory->template createSensitiveInput<T>(name,owner,makeConnectable,requestedPrecisionLevel);
00224    default:
00225       Controller::error("KernelObjetcFactory de type inconnu");
00226       return NULL;
00227    }
00228 }

template<typename T>
SensitiveNotifyingInput< T > * OMK::KernelObjectAbstractFactory::createSensitiveNotifyingInput ( const Name name,
SimulatedObject owner,
bool  makeConnectable,
int  requestedPrecisionLevel 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 231 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00235 {
00236    switch(_myConcreteFactoryType) {
00237    case CLASSIC:
00238       return _classicFactory->template createSensitiveNotifyingInput<T>(name,owner,makeConnectable,requestedPrecisionLevel);
00239    default:
00240       Controller::error("KernelObjetcFactory de type inconnu");
00241       return NULL;
00242    }
00243 }

template<typename T>
Output< T > * OMK::KernelObjectAbstractFactory::createOutput ( const Name name,
SimulatedObject owner,
int  historyLength,
OMK::Type::PolatorNT polator 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 278 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00282 {
00283    switch(_myConcreteFactoryType) 
00284    {
00285    case CLASSIC:
00286       return _classicFactory->template createOutput<T>(name,owner,historyLength,polator);
00287    default:
00288       Controller::error("KernelObjetcFactory de type inconnu");
00289       return NULL;
00290    }
00291 }

template<typename T>
ControlParameter< T > * OMK::KernelObjectAbstractFactory::createControlParameter ( const Name name,
SimulatedObject owner,
int  historyLength,
OMK::Type::PolatorNT polator 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 296 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00300 {
00301    switch(_myConcreteFactoryType) 
00302    {
00303    case CLASSIC:
00304       return _classicFactory->template createControlParameter<T>(name,owner, historyLength, polator);
00305    default:
00306       Controller::error("KernelObjetcFactory de type inconnu");
00307       return NULL;
00308    }
00309 }

template<typename T>
InputAlias< T > * OMK::KernelObjectAbstractFactory::createInputAlias ( const Name name,
SimulatedObject owner,
AbstractInput< T > *  input,
int  requestedPrecisionLevel 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 315 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00319 { 
00320   switch(_myConcreteFactoryType) {
00321   case CLASSIC:
00322     return _classicFactory->template createInputAlias<T>(name,owner,input,requestedPrecisionLevel);
00323   default:
00324     Controller::error("KernelObjetcFactory de type inconnu");
00325     return NULL;
00326   }   
00327 }

template<typename T>
SensitiveInputAlias< T > * OMK::KernelObjectAbstractFactory::createSensitiveInputAlias ( const Name name,
SimulatedObject owner,
AbstractInput< T > *  input,
int  requestedPrecisionLevel 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 247 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00250                                                                                       {
00251    switch(_myConcreteFactoryType) {
00252    case CLASSIC:
00253       return _classicFactory->template createSensitiveInputAlias<T>(name,owner,input,requestedPrecisionLevel);
00254    default:
00255       Controller::error("KernelObjetcFactory de type inconnu");
00256       return NULL;
00257    }
00258 }

template<typename T>
SensitiveNotifyingInputAlias< T > * OMK::KernelObjectAbstractFactory::createSensitiveNotifyingInputAlias ( const Name name,
SimulatedObject owner,
AbstractInput< T > *  input,
int  requestedPrecisionLevel 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 261 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00265 {
00266    switch(_myConcreteFactoryType) {
00267    case CLASSIC:
00268       return _classicFactory->template createSensitiveNotifyingInputAlias<T>(name,owner,input,requestedPrecisionLevel);
00269    default:
00270       Controller::error("KernelObjetcFactory de type inconnu");
00271       return NULL;
00272    }
00273 }

template<typename T>
OutputAlias< T > * OMK::KernelObjectAbstractFactory::createOutputAlias ( const Name name,
SimulatedObject owner,
Output< T > *  output,
int  historyLength,
OMK::Type::PolatorNT polator 
)

Reimplemented in OMK::KernelObjectClassicFactory.

Definition at line 330 of file OMKKernelObjectAbstractFactory.h.

References _classicFactory, _myConcreteFactoryType, CLASSIC, and OMK::Controller::error().

00335 { 
00336   switch(_myConcreteFactoryType) {
00337   case CLASSIC:
00338     return _classicFactory->template createOutputAlias<T>(name,owner,output,historyLength,polator);
00339   default:
00340     Controller::error("KernelObjetcFactory de type inconnu");
00341     return NULL;
00342   }   
00343 }


Member Data Documentation

KernelObjectClassicFactory* OMK::KernelObjectAbstractFactory::_classicFactory [protected]

Definition at line 99 of file OMKKernelObjectAbstractFactory.h.

Referenced by createControlParameter(), createInput(), createInputAlias(), createOutput(), createOutputAlias(), createSensitiveInput(), createSensitiveInputAlias(), createSensitiveNotifyingInput(), createSensitiveNotifyingInputAlias(), and OMK::KernelObjectClassicFactory::KernelObjectClassicFactory().

ConcreteFactory OMK::KernelObjectAbstractFactory::_myConcreteFactoryType [private]

Definition at line 101 of file OMKKernelObjectAbstractFactory.h.

Referenced by createControlParameter(), createInput(), createInputAlias(), createOutput(), createOutputAlias(), createSensitiveInput(), createSensitiveInputAlias(), createSensitiveNotifyingInput(), and createSensitiveNotifyingInputAlias().


logo OpenMask

Documentation generated on Mon Jun 9 11:46:02 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007