CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/Utilities/StorageFactory/interface/RemoteFile.h

Go to the documentation of this file.
00001 #ifndef STORAGE_FACTORY_REMOTE_FILE_H
00002 # define STORAGE_FACTORY_REMOTE_FILE_H
00003 
00004 # include "Utilities/StorageFactory/interface/File.h"
00005 # include <string>
00006 
00007 class RemoteFile : protected File
00008 {
00009 public:
00010   ~RemoteFile (void) { remove (); }
00011 
00012   static int local (const std::string &tmpdir, std::string &temp);
00013   static Storage *get (int localfd, const std::string &name,
00014                        char **cmd, int mode);
00015 
00016 protected:
00017   virtual void close (void);
00018   virtual void abort (void);
00019 
00020 private:
00021   RemoteFile (IOFD fd, const std::string &name);
00022   void remove (void);
00023   std::string name_;
00024 };
00025 
00026 #endif // STORAGE_FACTORY_REMOTE_FILE_H