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