Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

ConfigurationInterface.h

00001 #ifndef CONFIGURATION_INTERFACE_H
00002 #define CONFIGURATION_INTERFACE_H
00003 #include <map>
00004 #include <string>
00005 #include <memory>
00006 #include "sctConf/configuration.h"
00007 #include "is/isinfo.h"
00008 #include <boost/thread.hpp>
00009 #include <boost/shared_ptr.hpp>
00010 
00011 namespace SctAnalysis{
00012 
00018   class ConfigurationInterface{
00019   public:
00021     ConfigurationInterface(boost::shared_ptr<SctConfiguration::Configuration> config);
00023     ~ConfigurationInterface();    
00025     /*std::string translateToModuleName(unsigned partition, unsigned crate, unsigned channel);*/
00030     std::string getDcsId(const std::string& modulename) const;
00032     void update();
00034     static void updateCallback(ISCallbackInfo* isc);
00036     bool empty() const;
00038     void print(std::ostream& os) const;
00039   private:
00041     mutable boost::recursive_mutex m_access;   
00043     std::map<std::string, std::string> m_map;
00045     boost::shared_ptr<SctConfiguration::Configuration> m_config;
00047     boost::shared_ptr<ISInfoReceiver> m_infoReceiver;
00049     std::string encode(unsigned partition, unsigned crate, unsigned channel);
00050   private:
00051     ConfigurationInterface();
00052   };
00053 }
00054 #endif

Generated on Fri Jan 14 12:47:02 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5