SynchronizationLabObjectFactory.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef SYNCHRONIZATION_LAB_OBJECT_FACTORY_H_
00004 #define SYNCHRONIZATION_LAB_OBJECT_FACTORY_H_
00005 
00006 #include <fesa-core/Synchronization/SynchronizationFactory.h>
00007 
00008 namespace fesa
00009 {
00010 
00011 class MultiplexingContext;
00012 
00018 class SynchronizationLabObjectFactory : public SynchronizationFactory
00019 {
00020   public:
00021 
00027     static SynchronizationLabObjectFactory* getInstance();
00028 
00033     void releaseInstance();
00034 
00042     MultiplexingContext* createTimingContext(int64_t cycleTimeStamp,const std::string& cycleName);
00043 
00044 
00045 
00053     CycleDescriptor* createOrGetEventCycleDescriptor(const std::string& timingDomain, const std::string& timingCriterion);
00054 
00055   protected:
00056 
00063     CycleDescriptor* createCycleDescriptorLab(const std::string& timingDomain, const std::string& timingCriterion);
00064 
00065 
00070     SynchronizationLabObjectFactory();
00071 
00076     virtual ~SynchronizationLabObjectFactory();
00077 
00081     static SynchronizationLabObjectFactory* instance_;
00082 };
00083 
00084 } // fesa
00085 
00086 #endif // SYNCHRONIZATION_LAB_OBJECT_FACTORY_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1