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 }
0026 #endif