00001 #ifndef tmp_h
00002 #define tmp_h
00003
00004 #include <list>
00005 #include <string>
00006
00008 class Tmp
00009 {
00010 private:
00011
00012 typedef std::list<std::string> tmp_file_list;
00013 typedef tmp_file_list::iterator tmp_file_list_it;
00014
00015 tmp_file_list files;
00016 tmp_file_list own_files;
00017
00018 bool valid;
00019
00020 int nfiles;
00021
00022 long pid;
00023
00024 bool use_tmp;
00025 bool no_erase;
00026
00027 public:
00028
00029 Tmp( bool use_tmp, bool no_erase );
00030 ~Tmp();
00031
00032 std::string get_tmp_file();
00033
00035 bool register_tmp_file( std::string file );
00036
00037 private:
00038 bool can_write( std::string file );
00039
00041 bool read_dir();
00042
00043 bool is_unique( std::string file );
00044 };
00045
00046 #endif