Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrachytski <siarhei.rachytski@gmail.com>2012-05-20 20:40:41 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:38:36 +0300
commit48b7040b8ed7f6ac65a111705134e08c44d12245 (patch)
tree55fd8a88a301062ae3eb53c10bb0bac150027c50 /platform/http_request.cpp
parent004567c59b41c42c25a29ce1669a3ff54e9938cb (diff)
added flags for not-cleaning resume and partially downloaded files upon destruction of HttpRequest.
Diffstat (limited to 'platform/http_request.cpp')
-rw-r--r--platform/http_request.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/platform/http_request.cpp b/platform/http_request.cpp
index 0671f60c6d..7fcc2b6df0 100644
--- a/platform/http_request.cpp
+++ b/platform/http_request.cpp
@@ -106,6 +106,7 @@ class FileHttpRequest : public HttpRequest, public IHttpThreadCallback
scoped_ptr<FileWriter> m_writer;
size_t m_goodChunksCount;
+ bool m_doCleanProgressFiles;
ChunksDownloadStrategy::ResultT StartThreads()
{
@@ -239,11 +240,12 @@ class FileHttpRequest : public HttpRequest, public IHttpThreadCallback
public:
FileHttpRequest(vector<string> const & urls, string const & filePath, int64_t fileSize,
- CallbackT onFinish, CallbackT onProgress, int64_t chunkSize)
+ CallbackT onFinish, CallbackT onProgress, int64_t chunkSize, bool doCleanProgressFiles)
: HttpRequest(onFinish, onProgress), m_strategy(urls, fileSize, chunkSize),
m_filePath(filePath),
m_writer(new FileWriter(filePath + DOWNLOADING_FILE_EXTENSION, FileWriter::OP_WRITE_EXISTING)),
- m_goodChunksCount(0)
+ m_goodChunksCount(0),
+ m_doCleanProgressFiles(doCleanProgressFiles)
{
ASSERT_GREATER(fileSize, 0, ("At the moment only known file sizes are supported"));
ASSERT(!urls.empty(), ("Urls list shouldn't be empty"));
@@ -273,11 +275,14 @@ public:
DeleteNativeHttpThread(it->first);
if (m_status == EInProgress)
- { // means that client canceled donwload process
+ { // means that client canceled download process
// so delete all temporary files
m_writer.reset();
- FileWriter::DeleteFileX(m_filePath + DOWNLOADING_FILE_EXTENSION);
- FileWriter::DeleteFileX(m_filePath + RESUME_FILE_EXTENSION);
+ if (m_doCleanProgressFiles)
+ {
+ FileWriter::DeleteFileX(m_filePath + DOWNLOADING_FILE_EXTENSION);
+ FileWriter::DeleteFileX(m_filePath + RESUME_FILE_EXTENSION);
+ }
}
}
@@ -310,9 +315,9 @@ HttpRequest * HttpRequest::PostJson(string const & url, string const & postData,
}
HttpRequest * HttpRequest::GetFile(vector<string> const & urls, string const & filePath, int64_t fileSize,
- CallbackT onFinish, CallbackT onProgress, int64_t chunkSize)
+ CallbackT onFinish, CallbackT onProgress, int64_t chunkSize, bool doCleanProgressFiles)
{
- return new FileHttpRequest(urls, filePath, fileSize, onFinish, onProgress, chunkSize);
+ return new FileHttpRequest(urls, filePath, fileSize, onFinish, onProgress, chunkSize, doCleanProgressFiles);
}
bool ParseServerList(string const & jsonStr, vector<string> & outUrls)