File indexing completed on 2024-11-17 04:44:02
0001 /* 0002 Copyright (c) 2010 Grégory Oestreicher <greg@kamago.net> 0003 0004 This program is free software; you can redistribute it and/or modify 0005 it under the terms of the GNU General Public License as published by 0006 the Free Software Foundation; either version 2 of the License, or 0007 (at your option) any later version. 0008 0009 This program is distributed in the hope that it will be useful, 0010 but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 GNU General Public License for more details. 0013 0014 You should have received a copy of the GNU General Public License 0015 along with this program; if not, write to the Free Software 0016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 0017 */ 0018 0019 #ifndef KDAV2_DAVMULTIGETPROTOCOL_H 0020 #define KDAV2_DAVMULTIGETPROTOCOL_H 0021 0022 #include "kpimkdav2_export.h" 0023 0024 #include "davprotocolbase.h" 0025 0026 namespace KDAV2 0027 { 0028 0029 /** 0030 * @short Base class for protocols that implement multiget capabilities 0031 */ 0032 class KPIMKDAV2_EXPORT DavMultigetProtocol : public DavProtocolBase 0033 { 0034 public: 0035 /** 0036 * Destroys the DAV protocol 0037 */ 0038 virtual ~DavMultigetProtocol(); 0039 0040 /** 0041 * Returns the XML document that represents a MULTIGET DAV query to 0042 * list all DAV resources with the given @p urls. 0043 */ 0044 virtual XMLQueryBuilder::Ptr itemsReportQuery(const QStringList &urls) const = 0; 0045 0046 /** 0047 * Returns the namespace used by protocol-specific elements found in responses. 0048 */ 0049 virtual QString responseNamespace() const = 0; 0050 0051 /** 0052 * Returns the tag name of data elements found in responses. 0053 */ 0054 virtual QString dataTagName() const = 0; 0055 }; 0056 0057 } 0058 0059 #endif