diff options
Diffstat (limited to 'server/modules/downloaders/curl/include/curl_download.h')
-rw-r--r-- | server/modules/downloaders/curl/include/curl_download.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/server/modules/downloaders/curl/include/curl_download.h b/server/modules/downloaders/curl/include/curl_download.h new file mode 100644 index 0000000..1a43b29 --- /dev/null +++ b/server/modules/downloaders/curl/include/curl_download.h @@ -0,0 +1,30 @@ +#ifndef CURL_DOWNLOAD_H +#define CURL_DOWNLOAD_H + +#include <api_module_downloader.h> +#include <curl/curl.h> + +enum download_state {running, stopped}; + +class curl_download +{ + public: + curl_download(std::map<std::string, std::string> params, core_api *a); + virtual ~curl_download(); + + void start(); + void stop(); + const bool get_cancel_state() + { + return cancel_transfer; + } + private: + void perform_internal(); + download_s api_download; + CURL *easy_handle; + bool cancel_transfer; + download_state state; + std::string download_path; +}; + +#endif // CURL_DOWNLOAD_H |