LEFT | RIGHT |
1 #ifndef ADBLOCKPLUS_FILE_SYSTEM_H | 1 #ifndef ADBLOCKPLUS_FILE_SYSTEM_H |
2 #define ADBLOCKPLUS_FILE_SYSTEM_H | 2 #define ADBLOCKPLUS_FILE_SYSTEM_H |
3 | 3 |
4 #include <istream> | 4 #include <istream> |
5 #include <string> | 5 #include <string> |
6 #include <memory> | 6 |
| 7 #include "tr1_memory.h" |
7 | 8 |
8 namespace AdblockPlus | 9 namespace AdblockPlus |
9 { | 10 { |
10 class FileSystem | 11 class FileSystem |
11 { | 12 { |
12 public: | 13 public: |
13 struct StatResult | 14 struct StatResult |
14 { | 15 { |
15 bool exists; | 16 bool exists; |
16 bool isDirectory; | 17 bool isDirectory; |
17 bool isFile; | 18 bool isFile; |
18 int64_t lastModified; | 19 int64_t lastModified; |
19 }; | 20 }; |
20 | 21 |
21 virtual ~FileSystem() {} | 22 virtual ~FileSystem() {} |
22 virtual std::auto_ptr<std::istream> Read(const std::string& path) const = 0; | 23 virtual std::tr1::shared_ptr<std::istream> |
23 virtual void Write(const std::string& path, const std::string& content) = 0; | 24 Read(const std::string& path) const = 0; |
| 25 virtual void Write(const std::string& path, |
| 26 std::tr1::shared_ptr<std::ostream> data) = 0; |
24 virtual void Move(const std::string& fromPath, | 27 virtual void Move(const std::string& fromPath, |
25 const std::string& toPath) = 0; | 28 const std::string& toPath) = 0; |
26 virtual void Remove(const std::string& path) = 0; | 29 virtual void Remove(const std::string& path) = 0; |
27 virtual StatResult Stat(const std::string& path) const = 0; | 30 virtual StatResult Stat(const std::string& path) const = 0; |
28 }; | 31 }; |
29 } | 32 } |
30 | 33 |
31 #endif | 34 #endif |
LEFT | RIGHT |