00001 #ifndef STORAGE_FACTORY_STORAGE_MAKER_H 00002 # define STORAGE_FACTORY_STORAGE_MAKER_H 00003 00004 # include "Utilities/StorageFactory/interface/IOTypes.h" 00005 # include <string> 00006 00007 class Storage; 00008 class StorageMaker 00009 { 00010 public: 00011 StorageMaker(void); 00012 virtual ~StorageMaker (void); 00013 // implicit copy constructor 00014 // implicit assignment operator 00015 00016 virtual void stagein (const std::string &proto, 00017 const std::string &path); 00018 virtual Storage * open (const std::string &proto, 00019 const std::string &path, 00020 int mode) = 0; 00021 virtual bool check (const std::string &proto, 00022 const std::string &path, 00023 IOOffset *size = 0); 00024 virtual void setTimeout (unsigned int timeout); 00025 virtual void setDebugLevel (unsigned int debugLevel); 00026 }; 00027 00028 #endif // STORAGE_FACTORY_STORAGE_MAKER_H