diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2016-01-16 09:01:18 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2016-01-16 09:01:18 +0300 |
commit | bb8cd8a9ff7d80046cc2c7d41742c74d8f811c62 (patch) | |
tree | 9353ecb0293fd89b8d08d893332ca7e912c3efa3 /server/modules/downloaders/curl/src/curl_download.cpp | |
parent | 454ed688836c9de52039b84ea381ffd22890a6e8 (diff) |
i am alive )
updated copyrights (new year)
server:
started implementation of api for module events (module should be able to fire event which will be delivered to clients which have subscribed for this event type)
Diffstat (limited to 'server/modules/downloaders/curl/src/curl_download.cpp')
-rw-r--r-- | server/modules/downloaders/curl/src/curl_download.cpp | 31 |
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() |