CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/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             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