![]() |
![]() |
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 bool enablePrefetching() const; 00039 unsigned int debugLevel() const; 00040 std::vector<std::string> const* sourceNativeProtocols() const; 00041 struct addrinfo const* statisticsDestination() const; 00042 std::string const& siteName() const; 00043 00044 // implicit copy constructor 00045 // implicit assignment operator 00046 ~SiteLocalConfigService(); 00047 00048 static void fillDescriptions(ConfigurationDescriptions& descriptions); 00049 00050 private: 00051 void parse (std::string const& url); 00052 void computeStatisticsDestination(); 00053 std::string const frontierConnect(std::string const& servlet) const; 00054 std::string m_url; 00055 std::string m_dataCatalog; 00056 std::string m_fallbackDataCatalog; 00057 std::string m_frontierConnect; 00058 std::string m_rfioType; 00059 bool m_connected; 00060 std::string m_cacheTempDir; 00061 std::string const* m_cacheTempDirPtr; 00062 double m_cacheMinFree; 00063 double const* m_cacheMinFreePtr; 00064 std::string m_cacheHint; 00065 std::string const* m_cacheHintPtr; 00066 std::string m_readHint; 00067 std::string const* m_readHintPtr; 00068 unsigned int m_ttreeCacheSize; 00069 unsigned int const* m_ttreeCacheSizePtr; 00070 unsigned int m_timeout; 00071 unsigned int const* m_timeoutPtr; 00072 unsigned int m_debugLevel; 00073 bool m_enablePrefetching; 00074 bool const * m_enablePrefetchingPtr; 00075 std::vector<std::string> m_nativeProtocols; 00076 std::vector<std::string> const* m_nativeProtocolsPtr; 00077 std::string m_statisticsDestination; 00078 struct addrinfo * m_statisticsAddrInfo; 00079 static const std::string m_statisticsDefaultPort; 00080 std::string m_siteName; 00081 }; 00082 00083 inline 00084 bool isProcessWideService(SiteLocalConfigService const*) { 00085 return true; 00086 } 00087 } 00088 } 00089 00090 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00091 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00092 00093 #endif // FRAMEWORK_SITE_LOCAL_CONFIG_H