AbstractServerActionFactory.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef ABSTRACT_SERVER_ACTION_FACTORY_H_
00004 #define ABSTRACT_SERVER_ACTION_FACTORY_H_
00005 
00006 #include <string>
00007 #include <map>
00008 
00009 namespace fesa
00010 {
00011 
00012 class AbstractServerAction;
00013 class ServerActionConfig;
00014 class AbstractServiceLocator;
00015 
00021 class AbstractServerActionFactory
00022 {
00023   public:
00024 
00029     AbstractServerAction* createServerAction(ServerActionConfig& serverActionConfig);
00030 
00037     virtual AbstractServerAction* createCustomServerAction(ServerActionConfig& serverActionConfig) = 0;
00038 
00039     static void releaseInstance();
00040 
00041   protected:
00042 
00046     AbstractServerActionFactory(const AbstractServiceLocator* serviceLocator, const std::map<std::string, const AbstractServiceLocator*> serviceLocatorRelatedClasses);
00050     virtual ~AbstractServerActionFactory();
00051 
00052     const AbstractServiceLocator* serviceLocator_;
00053     const std::map<std::string, const AbstractServiceLocator*> serviceLocatorRelatedClasses_;
00054 };
00055 
00056 } // fesa
00057 
00058 #endif // ABSTRACT_SERVER_ACTION_FACTORY_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1