1 //======================================================================== 2 // 3 // CurlCachedFile.h 4 // 5 // This file is licensed under the GPLv2 or later 6 // 7 // Copyright 2010 Hib Eris <hib@hiberis.nl> 8 // Copyright 2010 Albert Astals Cid <aacid@kde.org> 9 // 10 //======================================================================== 11 12 #ifndef CURLCACHELOADER_H 13 #define CURLCACHELOADER_H 14 15 #include "poppler-config.h" 16 #include "CachedFile.h" 17 18 #include <curl/curl.h> 19 20 //------------------------------------------------------------------------ 21 22 class CurlCachedFileLoader : public CachedFileLoader 23 { 24 25 public: 26 CurlCachedFileLoader(); 27 ~CurlCachedFileLoader() override; 28 size_t init(GooString *url, CachedFile *cachedFile) override; 29 int load(const std::vector<ByteRange> &ranges, CachedFileWriter *writer) override; 30 31 private: 32 GooString *url; 33 CachedFile *cachedFile; 34 CURL *curl; 35 }; 36 37 #endif 38