Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:51

0001 #ifndef STORAGE_FACTORY_REMOTE_FILE_H
0002 #define STORAGE_FACTORY_REMOTE_FILE_H
0003 
0004 #include "Utilities/StorageFactory/interface/File.h"
0005 #include <string>
0006 #include <memory>
0007 
0008 namespace edm::storage {
0009   class RemoteFile : protected File {
0010   public:
0011     ~RemoteFile(void) override { remove(); }
0012 
0013     static int local(const std::string &tmpdir, std::string &temp);
0014     static std::unique_ptr<Storage> get(int localfd, const std::string &name, char **cmd, int mode);
0015 
0016   protected:
0017     void close(void) override;
0018     void abort(void) override;
0019 
0020   private:
0021     RemoteFile(IOFD fd, const std::string &name);
0022     void remove(void);
0023     std::string name_;
0024   };
0025 }  // namespace edm::storage
0026 #endif  // STORAGE_FACTORY_REMOTE_FILE_H