Mercurial > trustbridge
view ui/sslconnection_curl.h @ 950:b2763af94c82
(Auto) Update translations
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 27 Aug 2014 10:40:56 +0200 |
parents | eaed02defe6a |
children | 879a634d0a40 |
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); 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