| 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 | 
|  |