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