CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/FWCore/Services/src/SiteLocalConfigService.h

Go to the documentation of this file.
00001 #ifndef FWCore_Services_SiteLocalConfigService_H
00002 #define FWCore_Services_SiteLocalConfigService_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 #include <string>
00006 #include <list>
00007 #include <vector>
00008 #include "FWCore/Catalog/interface/SiteLocalConfig.h"
00009 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00010 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00011 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00012 namespace edm {
00013     class ParameterSet;
00014 }
00015 
00016 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00017 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00018 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00019 
00020 namespace edm {
00021     class ConfigurationDescriptions;
00022     namespace service {
00023       class SiteLocalConfigService : public SiteLocalConfig {
00024         public:
00025             explicit SiteLocalConfigService(ParameterSet const& pset);
00026 
00027             std::string const dataCatalog(void) const;
00028             std::string const fallbackDataCatalog(void) const;
00029             std::string const lookupCalibConnect(std::string const& input) const;
00030             std::string const rfioType(void) const;
00031 
00032             std::string const* sourceCacheTempDir() const;
00033             double const* sourceCacheMinFree() const;
00034             std::string const* sourceCacheHint() const;
00035             std::string const* sourceReadHint() const;
00036             unsigned int const* sourceTTreeCacheSize() const;
00037             unsigned int const* sourceTimeout() const;
00038             unsigned int        debugLevel() const;
00039             std::vector<std::string> const* sourceNativeProtocols() const;
00040             // implicit copy constructor
00041             // implicit assignment operator
00042             // implicit destructor
00043 
00044             static void fillDescriptions(ConfigurationDescriptions& descriptions);
00045 
00046         private:
00047             void parse (std::string const& url);
00048             std::string const frontierConnect(std::string const& servlet) const;
00049             std::string         m_url;
00050             std::string         m_dataCatalog;
00051             std::string         m_fallbackDataCatalog;
00052             std::string         m_frontierConnect;
00053             std::string         m_rfioType;
00054             bool                m_connected;
00055             std::string         m_cacheTempDir;
00056             std::string const*  m_cacheTempDirPtr;
00057             double              m_cacheMinFree;
00058             double const*       m_cacheMinFreePtr;
00059             std::string         m_cacheHint;
00060             std::string const*  m_cacheHintPtr;
00061             std::string         m_readHint;
00062             std::string const*  m_readHintPtr;
00063             unsigned int        m_ttreeCacheSize;
00064             unsigned int const* m_ttreeCacheSizePtr;
00065             unsigned int        m_timeout;
00066             unsigned int const* m_timeoutPtr;
00067             unsigned int        m_debugLevel;
00068             std::vector<std::string> m_nativeProtocols;
00069             std::vector<std::string> const* m_nativeProtocolsPtr;
00070          };
00071 
00072          inline
00073          bool isProcessWideService(SiteLocalConfigService const*) {
00074            return true;
00075          }
00076     }
00077 }
00078 
00079 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00080 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00081 
00082 #endif // FRAMEWORK_SITE_LOCAL_CONFIG_H