CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/Utilities/StorageFactory/interface/StorageMaker.h

Go to the documentation of this file.
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