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>
Inherits fesa::SynchronizationFactory.
|
void | releaseInstance () |
| releases the single instance of this class The implementation of the method you can find inside the lab package
|
|
boost::shared_ptr
< MultiplexingContext > | createTimingContext (int64_t cycleTimeStamp, const std::string &cycleName, int64_t interruptStamp=MultiplexingContext::UNKNOWN_TIMESTAMP) |
| creates a lab specific instance of an Timing Context for the specified parameters and returns a pointer to it More...
|
|
AbstractMultiplexingManager * | createMultiplexingManager (const std::string &timingDomain, const std::string &multiplexingCriterion) |
| this method returns a multiplexing manager which contains one slot per cycle name More...
|
|
AbstractMultiplexingManager * | createSharedMultiplexingManager (const std::string &timingDomain, const std::string &multiplexingCriterion) |
| this method returns a multiplexing manager which contains one slot per cycle name but which the information stored in shared memory. It has to be used in split mode More...
|
|
AbstractMultiplexingManager * | createRollingBufferMuxManager (const std::string &timingDomain, const std::string &multiplexingCriterion, const std::string &uniqueRollingPrefix, int32_t depth) |
| this method returns a multiplexing manager which a fixed number of slot according to the value in depth in order to manage them as a rolling buffer More...
|
|
AbstractMultiplexingManager * | createSharedRollingBufferMuxManager (const std::string &timingDomain, const std::string &multiplexingCriterion, const std::string &uniqueRollingPrefix, int32_t depth) |
| this method returns a multiplexing manager which a fixed number of slot according to the value in depth in order to manage them as a rolling buffer. All of its structures are stored in shared memory thereby it has to be used in split mode More...
|
|
AbstractMultiplexingManager * | createExtendedMultiplexingManager (AbstractMultiplexingManager *baseMultiplexingManager, std::vector< std::string > &extraCriterionCol) |
| this method returns an extended multiplexing manager. This manager is extending a standard manager giving to it an extra dimension More...
|
|
CycleDescriptor * | getCycleDescriptor (const std::string &timingDomain, const std::string &mainMuxCriterion) |
| Returns the CycleDescriptor for the given timing Domain and multiplexing criterion This method tries to find an existing instance before creating a new one. In case of creation, it does some core-actions before triggering the lab-specific implementation (see SynchronizationLabObjectFactory). More...
|
|
CycleDescriptor * | getCycleDescriptor (const std::string &cycleSelector) |
| returns the CycleDescriptor for the given cycle selector More...
|
|
virtual | ~SynchronizationFactory () |
| Destructor.
|
|
|
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 More...
|
|
| 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.
|
|
This class provides methods in order to create the different types of timing descriptors or in general the specific Lab synchronization objects.
CycleDescriptor* fesa::SynchronizationLabObjectFactory::createCycleDescriptorLab |
( |
const std::string & |
timingDomain, |
|
|
const std::string & |
timingCriterion |
|
) |
| |
|
protected |
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 |
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 |
interruptStamp | The interrupt stamp. If not provided, the cycle stamp will be used as the interrupt stamp. |
- Returns
- a pointer to the generated Timing Context
- Exceptions
-
On | error this method can throw an exception |
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
The documentation for this class was generated from the following file:
- SynchronizationLabObjectFactory.h