diff options
Diffstat (limited to 'server/modules/downloaders/curl/main.cpp')
-rw-r--r-- | server/modules/downloaders/curl/main.cpp | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/server/modules/downloaders/curl/main.cpp b/server/modules/downloaders/curl/main.cpp index 17c8f67..66f89b4 100644 --- a/server/modules/downloaders/curl/main.cpp +++ b/server/modules/downloaders/curl/main.cpp @@ -77,15 +77,15 @@ void downloader::set_module_settings(const std::map<std::string, std::string> &s } -int downloader::add_download(std::map<std::string, std::string> params) +int downloader::add_download(std::map<int, std::string> params) { curl_download *d = new curl_download(params, api); my_download md; std::string download_name; { - auto p1 = params["0"].rfind("/"); + auto p1 = params[0].rfind("/"); if(p1 != std::string::npos) - md.name = params["0"].substr(p1); + md.name = params[0].substr(p1); } md.curl_d = d; int id = 0; @@ -106,37 +106,64 @@ int downloader::add_download(std::map<std::string, std::string> params) bool downloader::stop_download(int download_id) { //TODO: + bool status = downloads[download_id].curl_d->stop(); + if(!status) + { + //TODO: handle error + return false; + } return true; } bool downloader::start_download(int download_id) { //TODO: + bool status = downloads[download_id].curl_d->start(); + if(!status) + { + //TODO: handle error + return false; + } return true; } bool downloader::delete_download(int download_id, bool delete_data) { + bool status = downloads[download_id].curl_d->delete_download(); + if(!status) + { + //TODO: handle errror + return false; + } + else + { + downloads[download_id].curl_d = nullptr; + } //TODO: return true; } -bool downloader::execute_action_on_download(int download_id, std::string action_id) +bool downloader::execute_action_on_download(int download_id, int action_id) { //TODO: return true; } -std::list<download_s> downloader::get_downloads(std::map<std::string, std::string> params) +std::list<download_s> downloader::get_downloads(std::map<int, std::string> params) { - //TODO: - return std::list<download_s>(); + std::list<download_s> l; + for(auto i : downloads) + l.push_back(i.second); + //TODO: fill aditional data fields + + return l; } -download_s downloader::get_download_info(int download_id, std::map<std::string, std::string> params) +download_s downloader::get_download_info(int download_id, std::map<int, std::string> params) { - //TODO: - return download_s(); + download_s d = downloads[download_id]; + //TODO: fill additional data fields + return d; } extern "C" module_downloader* udm_downloader_module_load() |