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) { 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  virtual void close (void);
19  virtual void abort (void);
20 
21 private:
22  RemoteFile (IOFD fd, const std::string &name);
23  void remove (void);
25 };
26 
27 #endif // STORAGE_FACTORY_REMOTE_FILE_H
RemoteFile(IOFD fd, const std::string &name)
Definition: RemoteFile.cc:37
virtual void abort(void)
Definition: RemoteFile.cc:51
static int local(const std::string &tmpdir, std::string &temp)
Definition: RemoteFile.cc:55
virtual void close(void)
Definition: RemoteFile.cc:47
~RemoteFile(void)
Definition: RemoteFile.h:11
std::string name_
Definition: RemoteFile.h:24
int IOFD
Definition: IOTypes.h:22
virtual IOFD fd(void) const
Definition: IOChannel.cc:73
Definition: File.h:11