diff options
| author | Peter LaFosse <peter@vector35.com> | 2018-08-29 15:26:00 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2018-08-31 14:21:07 -0400 |
| commit | f0ccb75e7d80a6c0ae8b01d794b929f03bc6ea6d (patch) | |
| tree | 7569fe7689062b265329ad0f649705aa8caab922 /downloadprovider.cpp | |
| parent | a6b801afadada75afd2b1779edee8d203f3b3140 (diff) | |
| parent | 426bb3d8b47b93658bf969c429a8b98adae13c30 (diff) | |
Merging with dev
Diffstat (limited to 'downloadprovider.cpp')
| -rw-r--r-- | downloadprovider.cpp | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/downloadprovider.cpp b/downloadprovider.cpp index 0e3483df..8e56bbf5 100644 --- a/downloadprovider.cpp +++ b/downloadprovider.cpp @@ -10,6 +10,7 @@ DownloadInstance::DownloadInstance(DownloadProvider* provider) cb.context = this; cb.destroyInstance = DestroyInstanceCallback; cb.performRequest = PerformRequestCallback; + AddRefForRegistration(); m_object = BNInitDownloadInstance(provider->GetObject(), &cb); } @@ -20,6 +21,12 @@ DownloadInstance::DownloadInstance(BNDownloadInstance* instance) } +DownloadInstance::~DownloadInstance() +{ + BNFreeDownloadInstance(m_object); +} + + void DownloadInstance::DestroyInstanceCallback(void* ctxt) { DownloadInstance* instance = (DownloadInstance*)ctxt; @@ -34,12 +41,15 @@ int DownloadInstance::PerformRequestCallback(void* ctxt, const char* url) } -string DownloadInstance::GetError() const +uint64_t DownloadInstance::WriteDataCallback(uint8_t* data, uint64_t len) { - char* str = BNGetErrorForDownloadInstance(m_object); - string result = str; - BNFreeString(str); - return result; + return BNWriteDataForDownloadInstance(m_object, data, len); +} + + +bool DownloadInstance::NotifyProgressCallback(uint64_t progress, uint64_t total) +{ + return BNNotifyProgressForDownloadInstance(m_object, progress, total); } @@ -49,6 +59,15 @@ void DownloadInstance::SetError(const string& error) } +string DownloadInstance::GetError() const +{ + char* str = BNGetErrorForDownloadInstance(m_object); + string result = str; + BNFreeString(str); + return result; +} + + int DownloadInstance::PerformRequest(const string& url, BNDownloadInstanceOutputCallbacks* callbacks) { return BNPerformDownloadRequest(m_object, url.c_str(), callbacks); |
