summaryrefslogtreecommitdiff
path: root/server/modules/downloaders/curl/src/curl_download.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/modules/downloaders/curl/src/curl_download.cpp')
-rw-r--r--server/modules/downloaders/curl/src/curl_download.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/server/modules/downloaders/curl/src/curl_download.cpp b/server/modules/downloaders/curl/src/curl_download.cpp
index 29bdc21..9df06a1 100644
--- a/server/modules/downloaders/curl/src/curl_download.cpp
+++ b/server/modules/downloaders/curl/src/curl_download.cpp
@@ -1,3 +1,23 @@
+/*
+ Copyright © 2015-2016 Gluzskiy Alexandr (sss)
+
+ This file is part of Unknown Download Manager (UDM).
+
+ UDM is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ UDM is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with UDM. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
#include "curl_download.h"
#include <boost/thread.hpp>
@@ -41,14 +61,14 @@ curl_download::curl_download(std::map<int, std::string> params, core_api *a)
bool curl_download::start()
{
boost::thread(boost::bind(&curl_download::perform_internal, this));
- state = download_running;
+ state = core_events::download_running;
return true; //TODO:
}
bool curl_download::stop()
{
cancel_transfer = true;
- state = download_stopped;
+ state = core_events::download_stopped;
return true; //TODO:
}
@@ -61,7 +81,12 @@ bool curl_download::delete_download()
void curl_download::perform_internal()
{
- curl_easy_perform(easy_handle);
+ auto status = curl_easy_perform(easy_handle);
+ if(status != CURLE_OK)
+ state = core_events::download_error;
+ else
+ state = core_events::download_completed;
+ //TODO: fire event
}
curl_download::~curl_download()