00001 //Copyright GSI 2012 00002 #ifndef RT_LAB_OBJECT_FACTORY_H_ 00003 #define RT_LAB_OBJECT_FACTORY_H_ 00004 00005 #include <fesa-core/RealTime/AbstractEventSource.h> 00006 #include <fesa-core/RealTime/AbstractRealTimeLabObjectFactory.h> 00007 #include <string> 00008 00009 namespace fesaGSI 00010 { 00011 /*CR: Naming: Creates at the moment only EventSources */ 00012 class RealTimeLabObjectFactory : public fesa::AbstractRealTimeLabObjectFactory 00013 { 00014 public: 00022 fesa::AbstractEventSource* createTimingEventSource(const std::string&); 00023 00031 fesa::AbstractEventSource* createTimingSimulationEventSource(const std::string&); 00032 00038 static RealTimeLabObjectFactory* getInstance(); 00039 00043 virtual ~RealTimeLabObjectFactory(); 00044 00045 protected: 00046 00050 RealTimeLabObjectFactory(); 00051 00056 static RealTimeLabObjectFactory* theInstance_; 00057 }; 00058 } 00059 00060 #endif /* RT_LAB_OBJECT_FACTORY_H_ */