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 std::vector<std::string> const* sourceNativeProtocols() const; 00039 // implicit copy constructor 00040 // implicit assignment operator 00041 // implicit destructor 00042 00043 static void fillDescriptions(ConfigurationDescriptions& descriptions); 00044 00045 private: 00046 void parse (std::string const& url); 00047 std::string const frontierConnect(std::string const& servlet) const; 00048 std::string m_url; 00049 std::string m_dataCatalog; 00050 std::string m_fallbackDataCatalog; 00051 std::string m_frontierConnect; 00052 std::string m_rfioType; 00053 bool m_connected; 00054 std::string m_cacheTempDir; 00055 std::string const* m_cacheTempDirPtr; 00056 double m_cacheMinFree; 00057 double const* m_cacheMinFreePtr; 00058 std::string m_cacheHint; 00059 std::string const* m_cacheHintPtr; 00060 std::string m_readHint; 00061 std::string const* m_readHintPtr; 00062 unsigned int m_ttreeCacheSize; 00063 unsigned int const* m_ttreeCacheSizePtr; 00064 unsigned int m_timeout; 00065 unsigned int const* m_timeoutPtr; 00066 std::vector<std::string> m_nativeProtocols; 00067 std::vector<std::string> const* m_nativeProtocolsPtr; 00068 }; 00069 00070 inline 00071 bool isProcessWideService(SiteLocalConfigService const*) { 00072 return true; 00073 } 00074 } 00075 } 00076 00077 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00078 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00079 00080 #endif // FRAMEWORK_SITE_LOCAL_CONFIG_H