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