diff --git a/3rdparty/qwebdavlib/CMakeLists.txt b/3rdparty/qwebdavlib/CMakeLists.txt index d9b2ead..e996ec3 100644 --- a/3rdparty/qwebdavlib/CMakeLists.txt +++ b/3rdparty/qwebdavlib/CMakeLists.txt @@ -1,19 +1,22 @@ remove_definitions( -DQT_NO_CAST_FROM_ASCII ) remove_definitions( -DQT_NO_CAST_TO_ASCII ) remove_definitions( -DQT_NO_URL_CAST_FROM_STRING ) set(CMAKE_AUTOMOC TRUE) add_library(kdav2_webdavlib qwebdav.cpp ) target_link_libraries(kdav2_webdavlib PUBLIC Qt5::Xml Qt5::Network ) + +generate_export_header(kdav2_webdavlib BASE_NAME qwebdavshared) + install(TARGETS kdav2_webdavlib EXPORT KPimKDAV2Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) diff --git a/3rdparty/qwebdavlib/qwebdav.h b/3rdparty/qwebdavlib/qwebdav.h index b25ef41..b4679c4 100644 --- a/3rdparty/qwebdavlib/qwebdav.h +++ b/3rdparty/qwebdavlib/qwebdav.h @@ -1,151 +1,151 @@ /**************************************************************************** ** QWebDAV Library (qwebdavlib) - LGPL v2.1 ** ** HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) ** from June 2007 ** http://tools.ietf.org/html/rfc4918 ** ** Web Distributed Authoring and Versioning (WebDAV) SEARCH ** from November 2008 ** http://tools.ietf.org/html/rfc5323 ** ** Missing: ** - LOCK support ** - process WebDAV SEARCH responses ** ** Copyright (C) 2012 Martin Haller ** for QWebDAV library (qwebdavlib) version 1.0 ** https://github.com/mhaller/qwebdavlib ** ** Copyright (C) 2012 Timo Zimmermann ** for portions from QWebdav plugin for MeeDav (LGPL v2.1) ** http://projects.developer.nokia.com/meedav/ ** ** Copyright (C) 2009-2010 Corentin Chary ** for portions from QWebdav - WebDAV lib for Qt4 (LGPL v2.1) ** http://xf.iksaif.net/dev/qwebdav.html ** ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** for naturalCompare() (LGPL v2.1) ** http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/dialogs/qfilesystemmodel.cpp ** ** This library is free software; you can redistribute it and/or ** modify it under the terms of the GNU Library General Public ** License as published by the Free Software Foundation; either ** version 2 of the License, or (at your option) any later version. ** ** This library is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** Library General Public License for more details. ** ** You should have received a copy of the GNU Library General Public License ** along with this library; see the file COPYING.LIB. If not, write to ** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ** Boston, MA 02110-1301, USA. ** ** http://www.gnu.org/licenses/lgpl-2.1-standalone.html ** ****************************************************************************/ #ifndef QWEBDAV_H #define QWEBDAV_H #include #include -#include "qwebdav_global.h" +#include "qwebdavshared_export.h" /** * @brief Main class used to handle the webdav protocol */ class QWEBDAVSHARED_EXPORT QWebdav : public QNetworkAccessManager { Q_OBJECT public: enum QWebdavConnectionType {HTTP = 1, HTTPS}; QWebdav(QObject* parent = 0); ~QWebdav(); typedef QMap > PropValues; typedef QMap PropNames; QString hostname() const; int port() const; QString rootPath() const; QString username() const; QString password() const; QWebdavConnectionType connectionType() const; bool isSSL() const; void setConnectionSettings( const QWebdavConnectionType connectionType, const QString &hostname, const QString &rootPath = "/", const QString &username = "", const QString &password = "", int port = 0, bool ignoreSslErrors = true); QNetworkReply* list(const QString& path); QNetworkReply* list(const QString& path, int depth); QNetworkReply* search(const QString& path, const QString& query); QNetworkReply* get(const QString& path, const QMap &headers); QNetworkReply* get(const QString& path, QIODevice* data); QNetworkReply* get(const QString& path, QIODevice* data, quint64 fromRangeInBytes); QNetworkReply* put(const QString& path, QIODevice* data); QNetworkReply* put(const QString& path, const QByteArray& data, const QMap &headers); QNetworkReply* mkdir(const QString& dir ); QNetworkReply* copy(const QString& pathFrom, const QString& pathTo, bool overwrite = false); QNetworkReply* move(const QString& pathFrom, const QString& pathTo, bool overwrite = false); QNetworkReply* remove(const QString& path ); QNetworkReply* propfind(const QString& path, const QByteArray& query, int depth = 0); QNetworkReply* propfind(const QString& path, const QWebdav::PropNames& props, int depth = 0); QNetworkReply* report(const QString& path, const QByteArray& query, int depth = 0); QNetworkReply* proppatch(const QString& path, const QWebdav::PropValues& props); QNetworkReply* proppatch(const QString& path, const QByteArray& query); Q_SIGNALS: void errorChanged(QString error); protected Q_SLOTS: void replyReadyRead(); void replyFinished(QNetworkReply*); void replyDeleteLater(QNetworkReply*); void replyError(QNetworkReply::NetworkError); void provideAuthenication(QNetworkReply* reply, QAuthenticator* authenticator); void sslErrors(QNetworkReply *reply,const QList &errors); protected: QNetworkReply* createRequest(const QString& method, QNetworkRequest& req, QIODevice* outgoingData = 0 ); QNetworkReply* createRequest(const QString& method, QNetworkRequest& req, const QByteArray& outgoingData); //! creates the absolute path from m_rootPath and relPath QString absolutePath(const QString &relPath); private: QMap m_outDataDevices; QMap m_inDataDevices; QString m_rootPath; QString m_username; QString m_password; QUrl m_baseUrl; QWebdavConnectionType m_currentConnectionType; QNetworkReply *m_authenticator_lastReply; bool m_ignoreSslErrors; }; #endif // QWEBDAV_H diff --git a/3rdparty/qwebdavlib/qwebdav_global.h b/3rdparty/qwebdavlib/qwebdav_global.h deleted file mode 100644 index a6a4be5..0000000 --- a/3rdparty/qwebdavlib/qwebdav_global.h +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** QWebDAV Library (qwebdavlib) - LGPL v2.1 -** -** HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) -** from June 2007 -** http://tools.ietf.org/html/rfc4918 -** -** Web Distributed Authoring and Versioning (WebDAV) SEARCH -** from November 2008 -** http://tools.ietf.org/html/rfc5323 -** -** Missing: -** - LOCK support -** - process WebDAV SEARCH responses -** -** Copyright (C) 2012 Martin Haller -** for QWebDAV library (qwebdavlib) version 1.0 -** https://github.com/mhaller/qwebdavlib -** -** Copyright (C) 2012 Timo Zimmermann -** for portions from QWebdav plugin for MeeDav (LGPL v2.1) -** http://projects.developer.nokia.com/meedav/ -** -** Copyright (C) 2009-2010 Corentin Chary -** for portions from QWebdav - WebDAV lib for Qt4 (LGPL v2.1) -** http://xf.iksaif.net/dev/qwebdav.html -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** for naturalCompare() (LGPL v2.1) -** http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/dialogs/qfilesystemmodel.cpp -** -** This library is free software; you can redistribute it and/or -** modify it under the terms of the GNU Library General Public -** License as published by the Free Software Foundation; either -** version 2 of the License, or (at your option) any later version. -** -** This library is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -** Library General Public License for more details. -** -** You should have received a copy of the GNU Library General Public License -** along with this library; see the file COPYING.LIB. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA. -** -** http://www.gnu.org/licenses/lgpl-2.1-standalone.html -** -****************************************************************************/ - -#ifndef QWEBDAV_GLOBAL_H -#define QWEBDAV_GLOBAL_H - -#include - -#if defined(QWEBDAV_LIBRARY) -# define QWEBDAVSHARED_EXPORT Q_DECL_EXPORT -#else -# define QWEBDAVSHARED_EXPORT Q_DECL_IMPORT -#endif - -#endif // QWEBDAV_GLOBAL_H