Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PsKernelObjectAbstractFactory Class Reference

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

#include <PsKernelObjectAbstractFactory.h>

Inheritance diagram for PsKernelObjectAbstractFactory:

Inheritance graph
[legend]
Collaboration diagram for PsKernelObjectAbstractFactory:

Collaboration graph
[legend]
List of all members.

Public Methods

 ~PsKernelObjectAbstractFactory ()
template<typename Type> PsInput< Type > * createInput (const PsName &name, PsSimulatedObject &owner, bool makeConnectable, int requestedPrecisionLevel)
template<typename Type> PsSensitiveInput< Type > * createSensitiveInput (const PsName &name, PsSimulatedObject &owner, bool makeConnectable, int requestedPrecisionLevel)
template<typename Type> PsSensitiveNotifyingInput<
Type > * 
createSensitiveNotifyingInput (const PsName &name, PsSimulatedObject &owner, bool makeConnectable, int requestedPrecisionLevel)
template<typename Type> PsOutput< Type > * createOutput (const PsName &name, PsSimulatedObject &owner, int historyLength, PsPolatorNT *polator)
template<typename Type> PsControlParameter< Type > * createControlParameter (const PsName &name, PsSimulatedObject &owner, int historyLength, PsPolatorNT *polator)
template<typename Type> PsInputAlias< Type > * createInputAlias (const PsName &name, PsSimulatedObject &owner, PsAbstractInput< Type > *input, int requestedPrecisionLevel)
template<typename Type> PsSensitiveInputAlias< Type > * createSensitiveInputAlias (const PsName &name, PsSimulatedObject &owner, PsAbstractInput< Type > *input, int requestedPrecisionLevel)
template<typename Type> PsSensitiveNotifyingInputAlias<
Type > * 
createSensitiveNotifyingInputAlias (const PsName &name, PsSimulatedObject &owner, PsAbstractInput< Type > *input, int requestedPrecisionLevel)
template<typename Type> PsOutputAlias< Type > * createOutputAlias (const PsName &name, PsSimulatedObject &owner, PsOutput< Type > *output, int historyLength, PsPolatorNT *polator)

Protected Types

enum  ConcreteFactory { CLASSIC, MOME }

Protected Methods

 PsKernelObjectAbstractFactory (ConcreteFactory factoryType)

Protected Attributes

PsKernelObjectClassicFactoryclassicFactory
PsKernelObjectMomeFactorymomeFactory

Private Attributes

ConcreteFactory myConcreteFactoryType

Detailed Description

the factory used to create correct attributes depending on the controller

Definition at line 43 of file PsKernelObjectAbstractFactory.h.


Member Enumeration Documentation

enum PsKernelObjectAbstractFactory::ConcreteFactory [protected]
 

Enumeration values:
CLASSIC 
MOME 

Definition at line 95 of file PsKernelObjectAbstractFactory.h.

00095 { CLASSIC , MOME };


Constructor & Destructor Documentation

PsKernelObjectAbstractFactory::~PsKernelObjectAbstractFactory  
 

Definition at line 25 of file PsKernelObjectAbstractFactory.cxx.

00025                                                               {
00026 };

PsKernelObjectAbstractFactory::PsKernelObjectAbstractFactory ConcreteFactory    factoryType [protected]
 

Definition at line 21 of file PsKernelObjectAbstractFactory.cxx.

References myConcreteFactoryType.

00021                                                                                         {
00022    myConcreteFactoryType=factoryType;
00023 };


Member Function Documentation

template<typename Type>
PsControlParameter< Type > * PsKernelObjectAbstractFactory::createControlParameter const PsName   name,
PsSimulatedObject   owner,
int    historyLength,
PsPolatorNT   polator
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 399 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00403 {
00404    switch(myConcreteFactoryType) {
00405    case CLASSIC:
00406       return classicFactory->template createControlParameter<Type>(name,owner, historyLength, polator);
00407    case MOME:
00408       return momeFactory->template createControlParameter<Type>(name,owner, historyLength, polator);
00409    default:
00410       PsController::error("KernelObjetcFactory de type inconnu");
00411       return NULL;
00412    }
00413 }

template<typename Type>
PsInput< Type > * PsKernelObjectAbstractFactory::createInput const PsName   name,
PsSimulatedObject   owner,
bool    makeConnectable,
int    requestedPrecisionLevel
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 293 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00297 {
00298    switch(myConcreteFactoryType) {
00299    case CLASSIC:
00300       return classicFactory->template createInput<Type>(name,owner,makeConnectable,requestedPrecisionLevel);
00301    case MOME:
00302       return momeFactory->template createInput<Type>(name,owner,makeConnectable,requestedPrecisionLevel);
00303    default:
00304       PsController::error("KernelObjetcFactory de type inconnu");
00305       return NULL;
00306    }
00307 }

template<typename Type>
PsInputAlias< Type > * PsKernelObjectAbstractFactory::createInputAlias const PsName   name,
PsSimulatedObject   owner,
PsAbstractInput< Type > *    input,
int    requestedPrecisionLevel
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 419 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00423 { 
00424   switch(myConcreteFactoryType) {
00425   case CLASSIC:
00426     return classicFactory->template createInputAlias<Type>(name,owner,input,requestedPrecisionLevel);
00427   case MOME:
00428     return momeFactory->template createInputAlias<Type>(name,owner,input,requestedPrecisionLevel);
00429   default:
00430     PsController::error("KernelObjetcFactory de type inconnu");
00431     return NULL;
00432   }   
00433 }

template<typename Type>
PsOutput< Type > * PsKernelObjectAbstractFactory::createOutput const PsName   name,
PsSimulatedObject   owner,
int    historyLength,
PsPolatorNT   polator
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 380 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00384 {
00385    switch(myConcreteFactoryType) {
00386    case CLASSIC:
00387       return classicFactory->template createOutput<Type>(name,owner,historyLength,polator);
00388    case MOME:
00389       return momeFactory->template createOutput<Type>(name,owner,historyLength,polator);
00390    default:
00391       PsController::error("KernelObjetcFactory de type inconnu");
00392       return NULL;
00393    }
00394 }

template<typename Type>
PsOutputAlias< Type > * PsKernelObjectAbstractFactory::createOutputAlias const PsName   name,
PsSimulatedObject   owner,
PsOutput< Type > *    output,
int    historyLength,
PsPolatorNT   polator
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 436 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00441 { 
00442   switch(myConcreteFactoryType) {
00443   case CLASSIC:
00444     return classicFactory->template createOutputAlias<Type>(name,owner,output,historyLength,polator);
00445   case MOME:
00446     return momeFactory->template createOutputAlias<Type>(name,owner,output,historyLength,polator);
00447   default:
00448     PsController::error("KernelObjetcFactory de type inconnu");
00449     return NULL;
00450   }   
00451 }

template<typename Type>
PsSensitiveInput< Type > * PsKernelObjectAbstractFactory::createSensitiveInput const PsName   name,
PsSimulatedObject   owner,
bool    makeConnectable,
int    requestedPrecisionLevel
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 310 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00314 {
00315    switch(myConcreteFactoryType) {
00316    case CLASSIC:
00317       return classicFactory->template createSensitiveInput<Type>(name,owner,makeConnectable,requestedPrecisionLevel);
00318    case MOME:
00319       return momeFactory->template createSensitiveInput<Type>(name,owner,makeConnectable,requestedPrecisionLevel);
00320    default:
00321       PsController::error("KernelObjetcFactory de type inconnu");
00322       return NULL;
00323    }
00324 }

template<typename Type>
PsSensitiveInputAlias< Type > * PsKernelObjectAbstractFactory::createSensitiveInputAlias const PsName   name,
PsSimulatedObject   owner,
PsAbstractInput< Type > *    input,
int    requestedPrecisionLevel
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 345 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00348                                                                                       {
00349    switch(myConcreteFactoryType) {
00350    case CLASSIC:
00351       return classicFactory->template createSensitiveInputAlias<Type>(name,owner,input,requestedPrecisionLevel);
00352    case MOME:
00353       return momeFactory->template createSensitiveInputAlias<Type>(name,owner,input,requestedPrecisionLevel);
00354    default:
00355       PsController::error("KernelObjetcFactory de type inconnu");
00356       return NULL;
00357    }
00358 }

template<typename Type>
PsSensitiveNotifyingInput< Type > * PsKernelObjectAbstractFactory::createSensitiveNotifyingInput const PsName   name,
PsSimulatedObject   owner,
bool    makeConnectable,
int    requestedPrecisionLevel
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 327 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00331 {
00332    switch(myConcreteFactoryType) {
00333    case CLASSIC:
00334       return classicFactory->template createSensitiveNotifyingInput<Type>(name,owner,makeConnectable,requestedPrecisionLevel);
00335    case MOME:
00336       return momeFactory->template createSensitiveNotifyingInput<Type>(name,owner,makeConnectable,requestedPrecisionLevel);
00337    default:
00338       PsController::error("KernelObjetcFactory de type inconnu");
00339       return NULL;
00340    }
00341 }

template<typename Type>
PsSensitiveNotifyingInputAlias< Type > * PsKernelObjectAbstractFactory::createSensitiveNotifyingInputAlias const PsName   name,
PsSimulatedObject   owner,
PsAbstractInput< Type > *    input,
int    requestedPrecisionLevel
 

Reimplemented in PsKernelObjectClassicFactory, and PsKernelObjectMomeFactory.

Definition at line 361 of file PsKernelObjectAbstractFactory.h.

References CLASSIC, classicFactory, PsController::error(), MOME, and momeFactory.

00365 {
00366    switch(myConcreteFactoryType) {
00367    case CLASSIC:
00368       return classicFactory->template createSensitiveNotifyingInputAlias<Type>(name,owner,input,requestedPrecisionLevel);
00369    case MOME:
00370       return momeFactory->template createSensitiveNotifyingInputAlias<Type>(name,owner,input,requestedPrecisionLevel);
00371    default:
00372       PsController::error("KernelObjetcFactory de type inconnu");
00373       return NULL;
00374    }
00375 }


Member Data Documentation

PsKernelObjectClassicFactory* PsKernelObjectAbstractFactory::classicFactory [protected]
 

Definition at line 97 of file PsKernelObjectAbstractFactory.h.

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

PsKernelObjectMomeFactory* PsKernelObjectAbstractFactory::momeFactory [protected]
 

Definition at line 98 of file PsKernelObjectAbstractFactory.h.

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

ConcreteFactory PsKernelObjectAbstractFactory::myConcreteFactoryType [private]
 

Definition at line 100 of file PsKernelObjectAbstractFactory.h.

Referenced by PsKernelObjectAbstractFactory().


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

Documentation generated on Mon Nov 25 15:26:07 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001