reapack

Package manager for REAPER
Log | Files | Refs | Submodules | README | LICENSE

commit 58eb823e68fd607ca679febf74a5f90a40fa5c4c
parent feac9a26ef6b432ac374775d2e8ab4311ede35c2
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Mon,  6 Feb 2017 16:43:17 -0500

download: more refactoring

Diffstat:
Msrc/download.cpp | 18+++++-------------
Msrc/download.hpp | 7++-----
2 files changed, 7 insertions(+), 18 deletions(-)

diff --git a/src/download.cpp b/src/download.cpp @@ -76,15 +76,14 @@ size_t Download::WriteData(char *ptr, size_t rawsize, size_t nmemb, void *data) int Download::UpdateProgress(void *ptr, const double, const double, const double, const double) { - return static_cast<Download *>(ptr)->isAborted(); + return static_cast<Download *>(ptr)->m_abort; } Download::Download(const string &name, const string &url, const NetworkOpts &opts, const int flags) - : m_name(name), m_url(url), m_opts(opts), m_flags(flags) + : m_name(name), m_url(url), m_opts(opts), m_flags(flags), + m_state(Idle), m_abort(false) { - reset(); - DownloadNotifier::get()->start(); } @@ -93,13 +92,6 @@ Download::~Download() DownloadNotifier::get()->stop(); } -void Download::reset() -{ - m_state = Idle; - m_aborted = false; - m_contents.clear(); -} - void Download::setState(const State state) { m_state = state; @@ -134,7 +126,7 @@ void Download::exec(CURL *curl) DownloadNotifier::get()->notify({this, state}); }; - if(isAborted()) { + if(m_abort) { finish(Aborted, "cancelled"); return; } @@ -163,7 +155,7 @@ void Download::exec(CURL *curl) const CURLcode res = curl_easy_perform(curl); - if(isAborted()) + if(m_abort) finish(Aborted, "aborted by user"); else if(res != CURLE_OK) { const auto err = format("%s (%d): %s") % curl_easy_strerror(res) % res % errbuf; diff --git a/src/download.hpp b/src/download.hpp @@ -65,14 +65,13 @@ public: void setState(State); State state() const { return m_state; } const std::string &contents() { return m_contents; } - bool isAborted() { return m_aborted; } void onStart(const VoidSignal::slot_type &slot) { m_onStart.connect(slot); } void onFinish(const VoidSignal::slot_type &slot) { m_onFinish.connect(slot); } void setCleanupHandler(const CleanupHandler &cb) { m_cleanupHandler = cb; } void start(); - void abort() { m_aborted = true; } + void abort() { m_abort = true; } void exec(CURL *); @@ -80,15 +79,13 @@ private: static size_t WriteData(char *, size_t, size_t, void *); static int UpdateProgress(void *, double, double, double, double); - void reset(); - std::string m_name; std::string m_url; NetworkOpts m_opts; int m_flags; State m_state; - std::atomic_bool m_aborted; + std::atomic_bool m_abort; std::string m_contents; VoidSignal m_onStart;