Mercurial > trustbridge
view ui/sslconnection_curl.h @ 1176:c8f698ca6355
(issue128) Rename cinst to trustbridge-certificate-installer
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 22 Sep 2014 11:34:06 +0200 |
parents | 6a3d284b9c16 |
children | 2a1aa9df8f11 |
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); void setCiphersuites(int ciphers[]); 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