libpackage: Use libcurl directly for downloads.

- Initial step towards allowing listening for download progress.
This commit is contained in:
Rene Gollent
2013-09-29 17:25:29 -04:00
parent 9549402d30
commit cd76e0903f
4 changed files with 87 additions and 15 deletions
+12
View File
@@ -1,5 +1,6 @@
/*
* Copyright 2011, Oliver Tappe <[email protected]>
* Copyright 2013, Rene Gollent <[email protected]>
* Distributed under the terms of the MIT License.
*/
#ifndef _PACKAGE__PRIVATE__FETCH_FILE_JOB_H_
@@ -7,6 +8,7 @@
#include <Entry.h>
#include <File.h>
#include <String.h>
#include <package/Job.h>
@@ -31,9 +33,19 @@ protected:
virtual status_t Execute();
virtual void Cleanup(status_t jobResult);
private:
// libcurl callbacks
static int _ProgressCallback(void *clientp,
double dltotal, double dlnow,
double ultotal, double ulnow);
static size_t _WriteCallback(void *buffer, size_t size,
size_t nmemb, void *userp);
private:
BString fFileURL;
BEntry fTargetEntry;
BFile fTargetFile;
};