CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/IOPool/TFileAdaptor/src/TFileAdaptor.h

Go to the documentation of this file.
00001 #ifndef IOPool_TFileAdaptor_TFileAdaptor_h
00002 #define IOPool_TFileAdaptor_TFileAdaptor_h
00003 
00004 #include <map>
00005 #include <string>
00006 #include <vector>
00007 
00008 class TPluginManager;
00009 
00010 namespace edm {
00011   class ActivityRegistry;
00012   class ConfigurationDescriptions;
00013   class ParameterSet;
00014 }
00015 
00016 // Driver for configuring ROOT plug-in manager to use TStorageFactoryFile.
00017 class TFileAdaptor {
00018 public:
00019   TFileAdaptor(edm::ParameterSet const& pset, edm::ActivityRegistry& ar);
00020 
00021   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
00022 
00023   // Write current Storage statistics on a ostream
00024   void termination(void) const;
00025 
00026   void stats(std::ostream &o) const;
00027 
00028   void statsXML(std::map<std::string, std::string> &data) const;
00029 
00030 private:
00031   static void addType(TPluginManager* mgr, char const* type, int altType=0);
00032   bool native(char const* proto) const;
00033 
00034   bool enabled_;
00035   bool doStats_;
00036   std::string cacheHint_;
00037   std::string readHint_;
00038   std::string tempDir_;
00039   double minFree_;
00040   unsigned int timeout_;
00041   unsigned int debugLevel_;
00042   std::vector<std::string> native_;
00043 
00044 };
00045 
00046 namespace edm {
00047   namespace service {
00048     inline
00049     bool isProcessWideService(TFileAdaptor const*) {
00050       return true;
00051     }
00052   }
00053 }
00054 #endif