Index: include/AdblockPlus/DefaultFileSystem.h |
=================================================================== |
--- a/include/AdblockPlus/DefaultFileSystem.h |
+++ b/include/AdblockPlus/DefaultFileSystem.h |
@@ -29,30 +29,51 @@ |
namespace AdblockPlus |
{ |
/** |
* `FileSystem` implementation that interacts directly with the operating |
* system's file system. |
* All paths are considered relative to the base path, or to the current |
* working directory if no base path is set (see `SetBasePath()`). |
*/ |
- class DefaultFileSystem : public FileSystem |
+ class DefaultFileSystemSync : public FileSystem |
{ |
public: |
std::shared_ptr<std::istream> Read(const std::string& path) const; |
void Write(const std::string& path, std::istream& data); |
void Move(const std::string& fromPath, const std::string& toPath); |
void Remove(const std::string& path); |
- StatResult Stat(const std::string& path) const; |
+ IFileSystem::StatResult Stat(const std::string& path) const; |
std::string Resolve(const std::string& path) const; |
/** |
* Sets the base path, all paths are considered relative to it. |
* @param path Base path. |
*/ |
void SetBasePath(const std::string& path); |
protected: |
std::string basePath; |
}; |
+ |
+ class DefaultFileSystem : public IFileSystem |
+ { |
+ public: |
+ explicit DefaultFileSystem(const FileSystemSyncPtr& syncImpl); |
+ void Read(const std::string& path, |
+ const ReadCallback& callback) const; |
+ void Write(const std::string& path, |
+ std::shared_ptr<std::istream> data, |
+ const Callback& callback); |
+ void Move(const std::string& fromPath, |
+ const std::string& toPath, |
+ const Callback& callback); |
+ void Remove(const std::string& path, const Callback& callback); |
+ void Stat(const std::string& path, |
+ const StatCallback& callback) const; |
+ |
+ std::string Resolve(const std::string& path) const; |
+ private: |
+ FileSystemSyncPtr syncImpl; |
+ }; |
} |
#endif |