summaryrefslogtreecommitdiff
path: root/server/modules/downloaders/curl/include/curl_download.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/modules/downloaders/curl/include/curl_download.h')
-rw-r--r--server/modules/downloaders/curl/include/curl_download.h30
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