15 #ifndef NINJA_DISK_INTERFACE_H_ 16 #define NINJA_DISK_INTERFACE_H_ 33 virtual TimeStamp Stat(
const string& path)
const = 0;
36 virtual bool MakeDir(
const string& path) = 0;
40 virtual bool WriteFile(
const string& path,
const string& contents) = 0;
43 virtual string ReadFile(
const string& path,
string* err) = 0;
50 virtual int RemoveFile(
const string& path) = 0;
54 bool MakeDirs(
const string& path);
65 virtual TimeStamp Stat(
const string& path)
const;
66 virtual bool MakeDir(
const string& path);
67 virtual bool WriteFile(
const string& path,
const string& contents);
68 virtual string ReadFile(
const string& path,
string* err);
69 virtual int RemoveFile(
const string& path);
75 void AllowStatCache(
bool allow);
82 typedef map<string, TimeStamp> DirCache;
85 typedef map<string, DirCache> Cache;
90 #endif // NINJA_DISK_INTERFACE_H_
Interface for accessing the disk.
Implementation of DiskInterface that actually hits the disk.
int ReadFile(const string &path, string *contents, string *err)
Read a file to a string (in text mode: with CRLF conversion on Windows).
virtual ~RealDiskInterface()
bool quiet_
Whether to print on errors. Used to make a test quieter.