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>
Public Member Functions | |
void | releaseInstance () |
releases the single instance of this class The implementation of the method you can find inside the lab package | |
MultiplexingContext * | 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 | |
CycleDescriptor * | createOrGetEventCycleDescriptor (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 | |
CycleDescriptor * | createCycleDescriptorLab (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 |
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.
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.
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
name | The name of the cycle/Timing Descriptor which is requested |
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
timingDomain | timing-domain of the CycleDescriptor to return | |
timingCriterion | timing criterion of the CycleDescriptor to return |
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
cycleTimeStamp | The cycleStamp for the requested TimingContext | |
cycleName | The cycleName for the requested TimingContext |
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
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
SynchronizationLabObjectFactory* fesa::SynchronizationLabObjectFactory::instance_ [static, protected] |
the single instance of this class
Definition at line 81 of file SynchronizationLabObjectFactory.h.