CMS 3D CMS Logo

RemoteFile.h
Go to the documentation of this file.
1 #ifndef STORAGE_FACTORY_REMOTE_FILE_H
2 # define STORAGE_FACTORY_REMOTE_FILE_H
3 
5 # include <string>
6 #include <memory>
7 
8 class RemoteFile : protected File
9 {
10 public:
11  ~RemoteFile (void) override { remove (); }
12 
13  static int local (const std::string &tmpdir, std::string &temp);
14  static std::unique_ptr<Storage> get (int localfd, const std::string &name,
15  char **cmd, int mode);
16 
17 protected:
18  void close (void) override;
19  void abort (void) override;
20 
21 private:
22  RemoteFile (IOFD fd, const std::string &name);
23  void remove (void);
25 };
26 
27 #endif // STORAGE_FACTORY_REMOTE_FILE_H
void abort(void) override
Definition: RemoteFile.cc:51
RemoteFile(IOFD fd, const std::string &name)
Definition: RemoteFile.cc:37
void close(void) override
Definition: RemoteFile.cc:47
static int local(const std::string &tmpdir, std::string &temp)
Definition: RemoteFile.cc:55
std::string name_
Definition: RemoteFile.h:24
int IOFD
Definition: IOTypes.h:22
list cmd
Definition: mps_setup.py:240
virtual IOFD fd(void) const
Definition: IOChannel.cc:73
Definition: File.h:11
~RemoteFile(void) override
Definition: RemoteFile.h:11