fesa::SynchronizationLabObjectFactory Class Reference

This class provides methods in order to create the different types of timing descriptors or in general the specific Lab synchronization objects. More...

#include <SynchronizationLabObjectFactory.h>

Inheritance diagram for fesa::SynchronizationLabObjectFactory:
fesa::SynchronizationFactory

List of all members.

Public Member Functions

void releaseInstance ()
 releases the single instance of this class The implementation of the method you can find inside the lab package
MultiplexingContextcreateTimingContext (int64_t cycleTimeStamp, const std::string &cycleName)
 creates a lab specific instance of an Timing Context for the specified parameters and returns a pointer to it
CycleDescriptorcreateOrGetEventCycleDescriptor (const std::string &timingDomain, const std::string &timingCriterion)
 creates or get a cycle descriptor

Static Public Member Functions

static
SynchronizationLabObjectFactory
getInstance ()
 returns the single instance of this class (also creates it, if it does not already exist) The implementation of the method you can find inside the lab package

Protected Member Functions

CycleDescriptorcreateCycleDescriptorLab (const std::string &timingDomain, const std::string &timingCriterion)
 creates a lab specific instance of a Timing Descriptor, if not already done and returns a pointer to it
 SynchronizationLabObjectFactory ()
 Constructor, is protected in order to hide it. Since the class is implemented as singleton there is no need to show this method outside.
virtual ~SynchronizationLabObjectFactory ()
 Destructor, is protected in order to hide it. Since the class is implemented as singleton there is no need to show this method outside.

Static Protected Attributes

static
SynchronizationLabObjectFactory
instance_
 the single instance of this class

Detailed Description

This class provides methods in order to create the different types of timing descriptors or in general the specific Lab synchronization objects.

Definition at line 18 of file SynchronizationLabObjectFactory.h.


Constructor & Destructor Documentation

fesa::SynchronizationLabObjectFactory::SynchronizationLabObjectFactory (  )  [protected]

Constructor, is protected in order to hide it. Since the class is implemented as singleton there is no need to show this method outside.

virtual fesa::SynchronizationLabObjectFactory::~SynchronizationLabObjectFactory (  )  [protected, virtual]

Destructor, is protected in order to hide it. Since the class is implemented as singleton there is no need to show this method outside.


Member Function Documentation

CycleDescriptor* fesa::SynchronizationLabObjectFactory::createCycleDescriptorLab ( const std::string &  timingDomain,
const std::string &  timingCriterion 
) [protected, virtual]

creates a lab specific instance of a Timing Descriptor, if not already done and returns a pointer to it

Parameters:
name The name of the cycle/Timing Descriptor which is requested
Returns:
a pointer to the generated Timing Descriptor
Exceptions:
On error this method can throw an exception

Implements fesa::SynchronizationFactory.

CycleDescriptor* fesa::SynchronizationLabObjectFactory::createOrGetEventCycleDescriptor ( const std::string &  timingDomain,
const std::string &  timingCriterion 
)

creates or get a cycle descriptor

Parameters:
timingDomain timing-domain of the CycleDescriptor to return
timingCriterion timing criterion of the CycleDescriptor to return
Returns:
a pointer to the generated Cycle Descritor
Exceptions:
On error this method can throw an exception
MultiplexingContext* fesa::SynchronizationLabObjectFactory::createTimingContext ( int64_t  cycleTimeStamp,
const std::string &  cycleName 
)

creates a lab specific instance of an Timing Context for the specified parameters and returns a pointer to it

Parameters:
cycleTimeStamp The cycleStamp for the requested TimingContext
cycleName The cycleName for the requested TimingContext
Returns:
a pointer to the generated Timing Context
Exceptions:
On error this method can throw an exception

Referenced by fesa::OnSubscriptionEventSource::wait().

static SynchronizationLabObjectFactory* fesa::SynchronizationLabObjectFactory::getInstance (  )  [static]

returns the single instance of this class (also creates it, if it does not already exist) The implementation of the method you can find inside the lab package

Returns:
the single instance of this class

Referenced by fesa::AbstractSubscriptionFilter::allCyclesFirstUpdate(), fesa::DeviceFactoryImp< GlobalDeviceType, DomainStoreType, DevInstType >::configureFields(), fesa::MultiplexingContext::setExtraCondition(), fesa::TimingContext::TimingContext(), fesa::Property::validateCycleSelector(), and fesa::OnSubscriptionEventSource::wait().

void fesa::SynchronizationLabObjectFactory::releaseInstance (  ) 

releases the single instance of this class The implementation of the method you can find inside the lab package


Member Data Documentation

the single instance of this class

Definition at line 81 of file SynchronizationLabObjectFactory.h.


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1