Mercurial > trustbridge
diff ui/sslconnection_curl.h @ 910:eaed02defe6a
More SSLConnection refactoring. Fixes curl downloader.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 18 Aug 2014 18:51:33 +0200 |
parents | d1c951b3012d |
children | 879a634d0a40 |
line wrap: on
line diff
--- a/ui/sslconnection_curl.h Thu Aug 14 11:24:13 2014 +0200 +++ b/ui/sslconnection_curl.h Mon Aug 18 18:51:33 2014 +0200 @@ -8,11 +8,19 @@ * See LICENSE.txt for details. */ +/** + * @file sslconnection_curl.h + * @brief SSLConnection utilizing libcurl for http. + */ + #include "sslconnection.h" #include <curl/curl.h> +#include <QDateTime> #include <QTemporaryFile> +class QSaveFile; + class SSLConnectionCurl : public SSLConnection { public: @@ -21,30 +29,20 @@ ~SSLConnectionCurl(); - /** @brief write */ - int write(const QByteArray& request); + int connect(); - /** - * @brief read at most len bytes and reset the connection - * - * @param [in] len Amount of bytes to read. - * - * @returns a byte array containing the data or - * a NULL byte array on error*/ - QByteArray read(size_t len); + QDateTime getLastModifiedHeader(const QString &resource); - /** @brief: Establish the connection - * - * @returns 0 on success otherwise an error or -1 is returned - */ - int connect(); + bool downloadFile(const QString &resource, const QString &filename, + size_t maxSize); private: CURL *mCurl; QTemporaryFile mCertFile; + char mErrBuf[CURL_ERROR_SIZE + 1]; + + /** @brief Internal write function for curl */ }; -/** - * @file sslconnection_curl.h - * @brief SSLConnection utilizing libcurl for http. - */ +size_t write_data(void *ptr, size_t size, size_t nmemb, QSaveFile *fp); + #endif // UI_SSLCONNECTION_CURL_H