AbstractServiceLocatorImplementation.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef ABSTRACT_SERVICE_LOCATOR_IMPLEMENTATION_H_
00004 #define ABSTRACT_SERVICE_LOCATOR_IMPLEMENTATION_H_
00005 
00006 #include <string>
00007 #include <vector>
00008 
00009 namespace fesa
00010 {
00011     class MultiplexingContext;
00012     class AbstractDevice;
00017     class AbstractServiceLocatorImplementation
00018     {
00019         public:
00020             AbstractServiceLocatorImplementation(const std::string& className);
00021             virtual ~AbstractServiceLocatorImplementation();
00022             virtual void runClassSpecificInitRT() const = 0;
00023             virtual void runClassSpecificInitServer() const = 0;
00024             virtual void runDeployUnitSpecificInitRT() const = 0;
00025             virtual void runDeployUnitSpecificInitServer() const = 0;
00026             virtual void enableEventSource(const std::string& eventSourceName) const = 0;
00027             virtual void disableEventSource(const std::string& eventSourceName) const = 0;
00028             virtual void enableRTEvent(const std::string& logicalEventName, const std::string& eventSourceName) const = 0;
00029             virtual void disableRTEvent(const std::string& logicalEventName, const std::string& eventSourceName) const= 0;
00030             virtual bool isEventEnabled(const std::string& logicalEventName, const std::string& eventSourceName) const = 0;
00031             virtual void synchronizeSettingFields(const MultiplexingContext& context) const = 0;
00032             virtual void triggerPersistency() const = 0;
00033             virtual AbstractDevice* getDevice(const std::string& deviceName) const = 0;
00034             virtual const std::vector<AbstractDevice*>&  getDeviceCollection() const = 0;
00035             virtual AbstractDevice* getGlobalDevice() const = 0;
00036         protected:
00037             std::string className_;
00038            };
00039 
00040 } // fesa
00041 
00042 #endif //ABSTRACT_SERVICE_LOCATOR_IMPLEMENTATION_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1