00001 // Copyright CERN 2012 - Developed in collaboration with GSI 00002 00003 #ifndef ABSTRACT_RT_LAB_OBJECT_FACTORY_H_ 00004 #define ABSTRACT_RT_LAB_OBJECT_FACTORY_H_ 00005 00006 #include <string> 00007 00008 namespace fesa 00009 { 00010 00011 class AbstractEventSource; 00012 00013 /*CR: Naming: Creates at the moment only EventSources */ 00014 00015 class AbstractRealTimeLabObjectFactory 00016 { 00017 public: 00025 virtual AbstractEventSource* createTimingEventSource(const std::string&) = 0; 00026 00034 virtual AbstractEventSource* createTimingSimulationEventSource(const std::string&) = 0; 00035 00041 //static RealTimeLabObjectFactory* getInstance(); 00042 00046 virtual ~AbstractRealTimeLabObjectFactory(){}; 00047 00048 protected: 00049 00053 AbstractRealTimeLabObjectFactory(){}; 00054 00059 //static RealTimeLabObjectFactory* theInstance_; 00060 }; 00061 00062 } // fesa 00063 00064 #endif // ABSTRACT_RT_LAB_OBJECT_FACTORY_H_