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:
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;