AbstractRTActionFactory.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef ABSTRACT_RT_ACTION_FACTORY_H_
00004 #define ABSTRACT_RT_ACTION_FACTORY_H_
00005 
00006 #include <string>
00007 #include <map>
00008 
00009 namespace fesa
00010 {
00011 
00012 class AbstractRTAction;
00013 struct RTActionConfig;
00014 class AbstractServiceLocator;
00015 
00021 class AbstractRTActionFactory
00022 {
00023   public:
00030     AbstractRTAction* createRTAction(const std::string& actionName, RTActionConfig& rtActionConfig);
00031 
00032   protected:
00033 
00037     AbstractRTActionFactory(const AbstractServiceLocator* serviceLocator, const std::map<std::string, const AbstractServiceLocator*> serviceLocatorRelatedClasses);
00038 
00042     virtual ~AbstractRTActionFactory();
00043 
00050     virtual AbstractRTAction* createCustomRTAction(const std::string& actionName,
00051                                                    RTActionConfig& rtActionConfig) = 0;
00052 
00053     const AbstractServiceLocator* serviceLocator_;
00054     const std::map<std::string, const AbstractServiceLocator*> serviceLocatorRelatedClasses_;
00055 
00056 };
00057 
00058 } // fesa
00059 
00060 #endif // ABSTRACT_RT_ACTION_FACTORY_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1