Release versions 1.2.11 and 1.2.11-1
[videolink.git] / temp_file.hpp
1 // Copyright 2005-6 Ben Hutchings <ben@decadent.org.uk>.
2 // See the file "COPYING" for licence details.
3
4 #ifndef INC_TEMP_FILE_HPP
5 #define INC_TEMP_FILE_HPP
6
7 #include <string>
8
9 class temp_file
10 {
11 public:
12     explicit temp_file(const std::string & base_name);
13     ~temp_file();
14
15     void close();
16
17     int get_fd() const { return fd_; }
18     const std::string & get_name() const { return name_; }
19
20     static void keep_all(bool keep);
21
22 private:
23     int fd_;
24     std::string name_;
25 };
26
27 class temp_dir
28 {
29 public:
30     explicit temp_dir(const std::string & base_name);
31     ~temp_dir();
32     const std::string & get_name() const { return name_; }
33
34 private:
35     std::string name_;
36 };
37
38 #endif // !INC_TEMP_FILE_HPP