| OLD | NEW | 
|    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-present eyeo GmbH |    3  * Copyright (C) 2006-present 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 190 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  201       { |  201       { | 
|  202         result.exists = true; |  202         result.exists = true; | 
|  203       } |  203       } | 
|  204       callback(result, ""); |  204       callback(result, ""); | 
|  205     }); |  205     }); | 
|  206   } |  206   } | 
|  207 public: |  207 public: | 
|  208   Scheduler scheduler; |  208   Scheduler scheduler; | 
|  209 }; |  209 }; | 
|  210  |  210  | 
 |  211 class InMemoryFileSystem : public LazyFileSystem | 
 |  212 { | 
 |  213   std::map<std::string, IOBuffer> files; | 
 |  214 public: | 
 |  215   using LazyFileSystem::LazyFileSystem; | 
 |  216   void Read(const std::string& fileName, const ReadCallback& callback) const ove
     rride | 
 |  217   { | 
 |  218     scheduler([this, fileName, callback]() | 
 |  219     { | 
 |  220       auto ii_file = files.find(fileName); | 
 |  221       if (ii_file == files.end()) | 
 |  222       { | 
 |  223         callback(IOBuffer(), "File not found, " + fileName); | 
 |  224         return; | 
 |  225       } | 
 |  226       callback(IOBuffer(ii_file->second), ""); | 
 |  227     }); | 
 |  228   } | 
 |  229  | 
 |  230   void Write(const std::string& fileName, const IOBuffer& data, | 
 |  231     const Callback& callback) override | 
 |  232   { | 
 |  233     scheduler([this, fileName, data, callback]() | 
 |  234     { | 
 |  235       files[fileName] = data; | 
 |  236       callback(""); | 
 |  237     }); | 
 |  238   } | 
 |  239  | 
 |  240   void Move(const std::string& fromFileName, const std::string& toFileName, | 
 |  241     const Callback& callback) override | 
 |  242   { | 
 |  243     scheduler([this, fromFileName, toFileName, callback]() | 
 |  244     { | 
 |  245       auto ii_fromFile = files.find(fromFileName); | 
 |  246       if (ii_fromFile == files.end()) | 
 |  247       { | 
 |  248         callback("File (from) not found, " + fromFileName); | 
 |  249         return; | 
 |  250       } | 
 |  251       Write(toFileName, ii_fromFile->second, [this, fromFileName, callback](cons
     t std::string& error) | 
 |  252       { | 
 |  253         if (!error.empty()) | 
 |  254         { | 
 |  255           callback(error); | 
 |  256           return; | 
 |  257         } | 
 |  258         Remove(fromFileName, callback); | 
 |  259       }); | 
 |  260     }); | 
 |  261   } | 
 |  262  | 
 |  263   void Remove(const std::string& fileName, const Callback& callback) override | 
 |  264   { | 
 |  265     scheduler([this, fileName, callback]() | 
 |  266     { | 
 |  267       files.erase(fileName); | 
 |  268       callback(""); | 
 |  269     }); | 
 |  270   } | 
 |  271  | 
 |  272   void Stat(const std::string& fileName, const StatCallback& callback) const ove
     rride | 
 |  273   { | 
 |  274     scheduler([this, fileName, callback]() | 
 |  275     { | 
 |  276       StatResult result; | 
 |  277       result.exists = files.find(fileName) != files.end(); | 
 |  278       callback(result, ""); | 
 |  279     }); | 
 |  280   } | 
 |  281 }; | 
 |  282  | 
|  211 AdblockPlus::FilterEngine& CreateFilterEngine(LazyFileSystem& fileSystem, |  283 AdblockPlus::FilterEngine& CreateFilterEngine(LazyFileSystem& fileSystem, | 
|  212   AdblockPlus::Platform& platform, |  284   AdblockPlus::Platform& platform, | 
|  213   const AdblockPlus::FilterEngine::CreationParameters& creationParams = AdblockP
     lus::FilterEngine::CreationParameters()); |  285   const AdblockPlus::FilterEngine::CreationParameters& creationParams = AdblockP
     lus::FilterEngine::CreationParameters()); | 
|  214  |  286  | 
|  215 class NoopWebRequest : public AdblockPlus::IWebRequest |  287 class NoopWebRequest : public AdblockPlus::IWebRequest | 
|  216 { |  288 { | 
|  217 public: |  289 public: | 
|  218   void GET(const std::string& url, const AdblockPlus::HeaderList& requestHeaders
     , const GetCallback& callback) override |  290   void GET(const std::string& url, const AdblockPlus::HeaderList& requestHeaders
     , const GetCallback& callback) override | 
|  219   { |  291   { | 
|  220   } |  292   } | 
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  269   } |  341   } | 
|  270  |  342  | 
|  271   void TearDown() override |  343   void TearDown() override | 
|  272   { |  344   { | 
|  273     if (platform) |  345     if (platform) | 
|  274       platform.reset(); |  346       platform.reset(); | 
|  275   } |  347   } | 
|  276 }; |  348 }; | 
|  277  |  349  | 
|  278 #endif |  350 #endif | 
| OLD | NEW |