| LEFT | RIGHT | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2017 eyeo GmbH | 3  * Copyright (C) 2006-2017 eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 31    * File system interface. | 31    * File system interface. | 
| 32    */ | 32    */ | 
| 33   class FileSystem | 33   class FileSystem | 
| 34   { | 34   { | 
| 35   public: | 35   public: | 
| 36     virtual ~FileSystem() {} | 36     virtual ~FileSystem() {} | 
| 37 | 37 | 
| 38     /** | 38     /** | 
| 39      * Reads from a file. | 39      * Reads from a file. | 
| 40      * @param path File path. | 40      * @param path File path. | 
| 41      * @return Input stream with the file's contents. | 41      * @return Buffer with the file content. | 
| 42      */ | 42      */ | 
| 43     virtual std::shared_ptr<std::istream> | 43     virtual IFileSystem::IOBuffer Read(const std::string& path) const = 0; | 
| 44       Read(const std::string& path) const = 0; |  | 
| 45 | 44 | 
| 46     /** | 45     /** | 
| 47      * Writes to a file. | 46      * Writes to a file. | 
| 48      * @param path File path. | 47      * @param path File path. | 
| 49      * @param data Input stream with the data to write. | 48      * @param data Buffer with the data to write. | 
| 50      */ | 49      */ | 
| 51     virtual void Write(const std::string& path, | 50     virtual void Write(const std::string& path, | 
| 52                        std::istream& data) = 0; | 51                        const IFileSystem::IOBuffer& data) = 0; | 
| 53 | 52 | 
| 54     /** | 53     /** | 
| 55      * Moves a file (i.e.\ renames it). | 54      * Moves a file (i.e.\ renames it). | 
| 56      * @param fromPath Current path to the file. | 55      * @param fromPath Current path to the file. | 
| 57      * @param toPath New path to the file. | 56      * @param toPath New path to the file. | 
| 58      */ | 57      */ | 
| 59     virtual void Move(const std::string& fromPath, | 58     virtual void Move(const std::string& fromPath, | 
| 60                       const std::string& toPath) = 0; | 59                       const std::string& toPath) = 0; | 
| 61 | 60 | 
| 62     /** | 61     /** | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 80     virtual std::string Resolve(const std::string& path) const = 0; | 79     virtual std::string Resolve(const std::string& path) const = 0; | 
| 81   }; | 80   }; | 
| 82 | 81 | 
| 83   /** | 82   /** | 
| 84    * Shared smart pointer to a `FileSystem` instance. | 83    * Shared smart pointer to a `FileSystem` instance. | 
| 85    */ | 84    */ | 
| 86   typedef std::shared_ptr<FileSystem> FileSystemSyncPtr; | 85   typedef std::shared_ptr<FileSystem> FileSystemSyncPtr; | 
| 87 } | 86 } | 
| 88 | 87 | 
| 89 #endif | 88 #endif | 
| LEFT | RIGHT | 
|---|