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