Mercurial > trustbridge
view ui/sslconnection_curl.h @ 968:5e43b9a4e926
(auto) Update translations
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 28 Aug 2014 12:57:35 +0200 |
parents | 879a634d0a40 |
children | 6a3d284b9c16 |
line wrap: on
line source
#ifndef UI_SSLCONNECTION_CURL_H #define UI_SSLCONNECTION_CURL_H /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * 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: SSLConnectionCurl(const QString& url, const QByteArray& certificate = QByteArray()); ~SSLConnectionCurl(); int connect(); QDateTime getLastModifiedHeader(const QString &resource); bool downloadFile(const QString &resource, const QString &filename, size_t maxSize); void setProxy(const QUrl &proxyUrl); private: CURL *mCurl; QTemporaryFile mCertFile; char mErrBuf[CURL_ERROR_SIZE + 1]; /** @brief Internal write function for curl */ }; size_t write_data(void *ptr, size_t size, size_t nmemb, QSaveFile *fp); #endif // UI_SSLCONNECTION_CURL_H