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 | |
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')
-rw-r--r-- | server/modules/downloaders/curl/include/curl_download.h | 24 | ||||
-rw-r--r-- | server/modules/downloaders/curl/main.cpp | 2 | ||||
-rw-r--r-- | server/modules/downloaders/curl/main.h | 2 | ||||
-rw-r--r-- | server/modules/downloaders/curl/src/curl_download.cpp | 31 |
4 files changed, 51 insertions, 8 deletions
diff --git a/server/modules/downloaders/curl/include/curl_download.h b/server/modules/downloaders/curl/include/curl_download.h index 6956ce4..514d4f2 100644 --- a/server/modules/downloaders/curl/include/curl_download.h +++ b/server/modules/downloaders/curl/include/curl_download.h @@ -1,11 +1,29 @@ +/* + 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/>. + +*/ + #ifndef CURL_DOWNLOAD_H #define CURL_DOWNLOAD_H #include <api_module_downloader.h> #include <curl/curl.h> -enum download_state {download_running, download_stopped}; - class curl_download : public download_s { public: @@ -27,7 +45,7 @@ class curl_download : public download_s void perform_internal(); CURL *easy_handle = nullptr; bool cancel_transfer = false; - download_state state = download_stopped; + core_events::download_state state = core_events::download_stopped; std::string download_path; }; diff --git a/server/modules/downloaders/curl/main.cpp b/server/modules/downloaders/curl/main.cpp index 1a5e02b..c21d8b3 100644 --- a/server/modules/downloaders/curl/main.cpp +++ b/server/modules/downloaders/curl/main.cpp @@ -1,6 +1,6 @@ /* - Copyright © 2015 Gluzskiy Alexandr (sss) + Copyright © 2015-2016 Gluzskiy Alexandr (sss) This file is part of Unknown Download Manager (UDM). diff --git a/server/modules/downloaders/curl/main.h b/server/modules/downloaders/curl/main.h index 7040d8b..85569f6 100644 --- a/server/modules/downloaders/curl/main.h +++ b/server/modules/downloaders/curl/main.h @@ -1,5 +1,5 @@ /* - Copyright © 2015 Gluzskiy Alexandr (sss) + Copyright © 2015-2016 Gluzskiy Alexandr (sss) This file is part of Unknown Download Manager (UDM). 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() |