reapack

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

commit e645038c6b02b64fcf7e5fed209323f1feda86fd
parent abb5bb0d19a031b1bbb37967a1eb4855a12893a1
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Sun, 26 Feb 2017 23:48:58 -0500

refactor thread task name and show index name instead of cache path

Diffstat:
Msrc/download.cpp | 22+++++++++-------------
Msrc/download.hpp | 9++-------
Msrc/import.cpp | 2+-
Msrc/index.cpp | 4+++-
Msrc/thread.hpp | 5+++--
5 files changed, 18 insertions(+), 24 deletions(-)

diff --git a/src/download.cpp b/src/download.cpp @@ -108,6 +108,11 @@ Download::Download(const string &url, const NetworkOpts &opts, const int flags) { } +void Download::setName(const string &name) +{ + setSummary("Downloading %s: " + name); +} + void Download::start() { WorkerThread *thread = new WorkerThread; @@ -161,26 +166,17 @@ void Download::run(DownloadContext *ctx) curl_slist_free_all(headers); } -MemoryDownload::MemoryDownload(const string &name, const string &url, - const NetworkOpts &opts, int flags) - : Download(url, opts, flags), m_name(name) -{ -} - -string MemoryDownload::summary() const +MemoryDownload::MemoryDownload(const string &url, const NetworkOpts &opts, int flags) + : Download(url, opts, flags) { - return "Downloading %s: " + m_name; + setName(url); } FileDownload::FileDownload(const Path &target, const string &url, const NetworkOpts &opts, int flags) : Download(url, opts, flags), m_path(target) { -} - -string FileDownload::summary() const -{ - return "Downloading %s: " + m_path.target().join(); + setName(target.join()); } ostream *FileDownload::openStream() diff --git a/src/download.hpp b/src/download.hpp @@ -47,6 +47,7 @@ public: const std::string &url() const { return m_url; } void start(); + void setName(const std::string &); void run(DownloadContext *) override; private: @@ -65,8 +66,7 @@ private: class MemoryDownload : public Download { public: - MemoryDownload(const std::string &name, const std::string &url, - const NetworkOpts &, int flags = 0); + MemoryDownload(const std::string &url, const NetworkOpts &, int flags = 0); std::string contents() const { return m_stream.str(); } @@ -74,9 +74,6 @@ protected: std::ostream *openStream() override { return &m_stream; } private: - std::string summary() const override; - - std::string m_name; std::stringstream m_stream; }; @@ -92,8 +89,6 @@ protected: void closeStream() override; private: - std::string summary() const override; - TempPath m_path; std::ofstream m_stream; }; diff --git a/src/import.cpp b/src/import.cpp @@ -94,7 +94,7 @@ void Import::fetch() setWaiting(true); const auto &opts = m_reapack->config()->network; - MemoryDownload *dl = m_download = new MemoryDownload({}, url, opts); + MemoryDownload *dl = m_download = new MemoryDownload(url, opts); dl->onFinish([=] { const ThreadTask::State state = dl->state(); diff --git a/src/index.cpp b/src/index.cpp @@ -95,7 +95,9 @@ FileDownload *Index::fetch(const Remote &remote, } const Path &path = pathFor(remote.name()); - return new FileDownload(path, remote.url(), opts, Download::NoCacheFlag); + auto fd = new FileDownload(path, remote.url(), opts, Download::NoCacheFlag); + fd->setName(remote.name()); + return fd; } Index::Index(const string &name) diff --git a/src/thread.hpp b/src/thread.hpp @@ -52,10 +52,9 @@ public: ThreadTask(); virtual ~ThreadTask(); - - virtual std::string summary() const = 0; virtual void run(DownloadContext *) = 0; + const std::string &summary() const { return m_summary; } void setState(State); State state() const { return m_state; } const ErrorInfo &error() { return m_error; } @@ -68,9 +67,11 @@ public: void abort() { m_abort = true; } protected: + void setSummary(const std::string &s) { m_summary = s; } void finish(State, const ErrorInfo & = {}); private: + std::string m_summary; State m_state; ErrorInfo m_error; std::atomic_bool m_abort;