From bb8cd8a9ff7d80046cc2c7d41742c74d8f811c62 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Sat, 16 Jan 2016 09:01:18 +0300 Subject: 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) --- .../modules/downloaders/curl/src/curl_download.cpp | 31 +++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'server/modules/downloaders/curl/src') 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 . + +*/ + #include "curl_download.h" #include @@ -41,14 +61,14 @@ curl_download::curl_download(std::map 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() -- cgit v1.2.3